【Unity3D杂谈】记一次解决FB开发者后台报隐私权政策违规问题

本文记录了一次在Unity3D游戏开发中遇到的Facebook开发者后台隐私政策违规问题,包括问题描述、排查过程及修复方案。在排查中发现,尽管URL有效且返回200 OK,但实际返回206 Partial Content,违反了FB的规定。修复方法是修改服务器逻辑,禁止返回206状态码,确保始终返回200 OK。
摘要由CSDN通过智能技术生成

【Unity3D杂谈】记一次解决FB开发者后台报隐私权政策违规问题

一、问题描述

FB开发者后台突然收到一封违规情况的邮件,并且要求解决给的时间很短,大体上的描述如下:

1、确保在应用面板内填写有效的隐私协议政策链接。
2、cURL隐私政策网址,确保系统返回200 OK 状态码
3、确定隐私权政策是有外部网址或者是Facebook Canvas网址托管,我们不支持facebook.com托管的隐私权政策。

尝试换新的url,点击提交也无法提交成功,会有错误提示。

二、排查问题

按着fb提示的这几个点进行排查,使用curl,可以确保返回的是200 OK,而且链接有效,是由自己服务器托管的,与facebook.com无关。点击按钮时弹出弹窗无法提交的问题,大概率是由于fb自己网页的bug导致,因为多次尝试,多网址尝试都失败了,在fb的开发者支持论坛也查询到了一些同样的提问,但是没有官方人员答复。这个问题经过了一段时间的等待后,最终终于以莫名奇妙的方式提交成功了。

本来问题到此看似解决了,但是其实存在一个疑问:为什么地址可用,却会突然莫名被认为是违规呢?

于是找到FB官方提供的一个分享调试工具

在这里插入图片描述
通过测试竟发现,我们的隐私权政策的网址返回的竟不是200 OK,而是206 Partial Content。

通过查Http返回code的信息可知,206的状态码和Accept-Ranges响应头有关,服务器发送这个头的目的是让客户端知道服务器接受以字节为单位的部分内容请求。

通过这个思路,使用postman,给请求加一个header参数:
Key : Range
Value: bytes=1-1023

在Postman也成功的复现了206。

三、修复方式

修复方式自然是改动服务器逻辑,使其不返回206 Partial Content。

由于这个url是单纯用来托管静态文本页面的,不涉及其他什么资源,所以可以在服务器配置

Header unset Accept-Ranges

这将从响应头中删除“Accept-Ranges”字段,从而禁用范围请求。这样,当用户请求该页面时,服务器将返回完整的200响应,而不是206。请注意,这可能会影响到其他资源的范围请求,因此请谨慎使用。

四、结论

这次的问题其实存在两个方面的问题:
1、一方面是fb自身的问题,网站出现了bug,无法提交只提示了一个笼统的弹窗,后续又莫名恢复
2、另一方面fb使用了范围请求,但是却规定不能返回206,只能200。
因此我们自身服务器强制关闭对范围请求的支持,保证只返回200,以防止后续又出现问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

留待舞人归

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值