高级 "Like" 系统,可防御点击欺诈
Advanced "Like" system with defense from click fraud
我不是专业的,所以不要因为这些问题而责备我:)
你仍然可以踢我一口流利的英语(*讽刺*)
我想在我的网站上实现 "like" 系统。
主要问题是没有注册。这意味着喜欢对点击没有限制。
据我所知,我可以通过 IP 进行点赞点击过滤,在 mySQL 中写入喜欢的选定 ID 的 IP。但对于拥有相同IP的用户来说,这并不是一个好主意。
我可以制作 cookie 文件并在其中写入喜欢的 ID。它可以防止 noobs,但关闭 cookie 或清除它并再次开始点击欺诈不是问题。
最后一件事如何防止像增加一样手动执行脚本?例如,我的脚本名为 "addlike.php"。直接发送 POST 请求、请求、请求并不难。像这样“http://example.com/addlike.php?id=2”n次,比如换ID。
谢谢大家!
您遇到的这个问题是网站在用户提交投票、点赞等输入之前需要登录的主要原因。如果您绝对需要用户匿名,请结合使用以下方法据我所知,列出的是你最好的防御。这也取决于您的用例:
如果您的目标用户经常使用相同的互联网连接,单独使用 IP 过滤并不是您所说的好的解决方案,因为每个 IP 只有一个人可以提交。但是,您可以为每个 IP 创建最大数量的提交(比如 10 个)。如果您的用户是合法的,并且同一 IP 上的用户不超过 10 个,那么他们的点赞就可以正常工作。如果有黑客试图向系统发送垃圾邮件,他们在被限制之前只会获得 10 个赞。这是您必须做出的权衡。
通过 cookie 过滤始终是保护技术知识不多的普通用户的好方法,但肯定会被正在构建脚本的人利用。您为用户提供一个唯一 ID,将其存储在 cookie 中,并且每个唯一 ID 只允许一个 'like'。这将阻止用户简单地刷新页面,或再次打开新标签页 'like'。
请务必注意,这些技术中的 none 将适用于分布式机器人。如果某人可以访问大量唯一的 IP 地址,这些地址可以 运行 他们提供的脚本,您就没有简单的方法来检测和阻止它们。
编辑:
我不太清楚你的第三种技术是做什么的。如果您只是每次都增加一个数字,那么您只是在防止重放攻击(攻击者一遍又一遍地重放相同的请求)。聪明的攻击者会注意到增量并将其包含到他们的脚本中。
我不是专业的,所以不要因为这些问题而责备我:) 你仍然可以踢我一口流利的英语(*讽刺*)
我想在我的网站上实现 "like" 系统。 主要问题是没有注册。这意味着喜欢对点击没有限制。
据我所知,我可以通过 IP 进行点赞点击过滤,在 mySQL 中写入喜欢的选定 ID 的 IP。但对于拥有相同IP的用户来说,这并不是一个好主意。
我可以制作 cookie 文件并在其中写入喜欢的 ID。它可以防止 noobs,但关闭 cookie 或清除它并再次开始点击欺诈不是问题。
最后一件事如何防止像增加一样手动执行脚本?例如,我的脚本名为 "addlike.php"。直接发送 POST 请求、请求、请求并不难。像这样“http://example.com/addlike.php?id=2”n次,比如换ID。
谢谢大家!
您遇到的这个问题是网站在用户提交投票、点赞等输入之前需要登录的主要原因。如果您绝对需要用户匿名,请结合使用以下方法据我所知,列出的是你最好的防御。这也取决于您的用例:
如果您的目标用户经常使用相同的互联网连接,单独使用 IP 过滤并不是您所说的好的解决方案,因为每个 IP 只有一个人可以提交。但是,您可以为每个 IP 创建最大数量的提交(比如 10 个)。如果您的用户是合法的,并且同一 IP 上的用户不超过 10 个,那么他们的点赞就可以正常工作。如果有黑客试图向系统发送垃圾邮件,他们在被限制之前只会获得 10 个赞。这是您必须做出的权衡。
通过 cookie 过滤始终是保护技术知识不多的普通用户的好方法,但肯定会被正在构建脚本的人利用。您为用户提供一个唯一 ID,将其存储在 cookie 中,并且每个唯一 ID 只允许一个 'like'。这将阻止用户简单地刷新页面,或再次打开新标签页 'like'。
请务必注意,这些技术中的 none 将适用于分布式机器人。如果某人可以访问大量唯一的 IP 地址,这些地址可以 运行 他们提供的脚本,您就没有简单的方法来检测和阻止它们。
编辑:
我不太清楚你的第三种技术是做什么的。如果您只是每次都增加一个数字,那么您只是在防止重放攻击(攻击者一遍又一遍地重放相同的请求)。聪明的攻击者会注意到增量并将其包含到他们的脚本中。