在使用 Tinder 风格的约会应用程序时,其中一个应用程序在相互点赞后让相关人员建立联系,我注意到,为了宣传他们的高级计划,他们使用模糊的图片向您介绍在您的个人资料上按“赞”按钮的人。
经过几次匹配后,我注意到模糊的图片属于真实帐户,也就是说,它们不是一组通用图像或占位符。
应用于摄影的模糊效果示例
这听起来太明显了,所以我打开浏览器的开发者控制台并转到 CSS 代码来检查我的怀疑。他们不可能犯这么简单的错误——我想——他们用一个简单的 CSS filter:blur.
来保护照片的身份
.hidden-image { filter: blur(4px); }
实际图像由该应用程序的 CDN 提供,然后应用过滤器来隐藏它们,因此要找出谁喜欢您,您只需删除过滤器即可。
不幸的是,不可能从图片或 URL 结构、API 调用或任何其他给定中获取任何其他数据;除了个人资料图片之外,无法访问姓名、个人资料或任何其他信息。
当然这是一个架构错误,确实,在前端隐藏图像非常容易,使用CSS,您可以节省磁盘空间并避免后端的处理时间,但更好的选择是使用一组适用于所有帐户的通用图像。
另一种选择是每次用户更新其主要个人资料图像时自动生成缩略图(以及其他更改,例如更改格式,例如:webp);它会消耗更多空间,但可以保证真实图像的安全并为每个用户提供个性化的体验。
为了利用该错误,我创建了一个小的 Javascript 脚本并将其集成到扩展中,以便在每次进入页面时自动执行解锁它们的过程。
开发人员的这一小疏忽持续了大约两年。现在它已经被修复,所以如果你尝试在主要约会页面上搜索该错误,你将不再找到它,这也是我决定发布有关它的主要原因
该应用程序修改了其网页版本的代码,使 UI 的其余部分几乎完好无损,并选择为每个帐户创建一个混淆的缩略图,但从后端对其进行处理,因此完全不可能获得真实图像.
你也利用了这一点吗?如果您知道网站名称,即可获得奖励积分。
以上是我利用了约会应用程序代码中的错误的详细内容。更多信息请关注PHP中文网其他相关文章!