免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: imbiss
打印 上一主题 下一主题

[SPAM] 大家对防止SPAM有什么经验 [复制链接]

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
11 [报告]
发表于 2006-05-18 22:12 |只看该作者
原帖由 geel 于 2006-5-18 22:05 发表
其实就是一个如何判断操作者是人还是机器的问题,但是既要做到体验流畅又要防止机器人,难



那就来一个智商测试!

论坛徽章:
0
12 [报告]
发表于 2006-05-18 23:08 |只看该作者
原帖由 HonestQiao 于 2006-5-18 22:12 发表



那就来一个智商测试!


智商小于60的不让提交……容易成被告,告你歧视,哈哈

论坛徽章:
0
13 [报告]
发表于 2006-05-19 00:02 |只看该作者
还是用session的好
在浏览的时候设置当前页面的 id
发布回复的时候直接从 session 提取 id

论坛徽章:
0
14 [报告]
发表于 2006-05-19 04:07 |只看该作者
原帖由 artlover 于 2006-5-19 00:02 发表
还是用session的好
在浏览的时候设置当前页面的 id
发布回复的时候直接从 session 提取 id

这个能有用吗??

按照我的已开始的想法,我已经实现了。2天试用下来,觉得效果不错。当然,正如前面几个高手说的,我那个措施只是骗自己的小伎俩。但是spam从每天的300多降为0了。
只是不知道,能维持多久。垃圾商针对这个措施再作修改,比如读取hidden input后在post,那我还要修改。

论坛徽章:
0
15 [报告]
发表于 2006-05-19 04:13 |只看该作者
说道智能测试,不过的确有人提出了一些基于验证码的方案。

比如
利用验证码做算术。 出来2个验证码,请回答他们的乘积或者和是什么。

还有一个博客,在数字验证码被破解,失效后,改为全中文验证码,效果不错。

人是活的,办法还是有的。

论坛徽章:
0
16 [报告]
发表于 2006-05-19 11:58 |只看该作者
说实话中文这个比较#$%#$%..................

有时出来的是那种生僻字~~都不认得~~就算认得,有时输入法里还没有~~有些BT~~

论坛徽章:
0
17 [报告]
发表于 2006-05-20 10:30 |只看该作者
原帖由 imbiss 于 2006-5-19 04:07 发表

这个能有用吗??

按照我的已开始的想法,我已经实现了。2天试用下来,觉得效果不错。当然,正如前面几个高手说的,我那个措施只是骗自己的小伎俩。但是spam从每天的300多降为0了。
只是不知道,能维持多久 ...




可以在显示文章的页面代码加一句

  1. $_SESSION['article_id'] = 当前文章id
复制代码


在你页面底部的评论表单里面只设置标题和内容,FORM 的 action 也不要设置文章 articleid,
比如你发表评论的页面为 comment.php
你原来的可能是这样:

  1. <form action="comment.php?articleid=当前文章id" method="POST">
复制代码

现在改为:

  1. <form action="comment.php" method="POST">
复制代码


在comment.php中先验证 $_SESSION['article_id'] 是否存在,如果不存在的话就是没有浏览任何文章,说明是 SPAM ,重定向页面。

如果有的话,就是有效评论,执行操作即可。

论坛徽章:
0
18 [报告]
发表于 2006-05-20 13:45 |只看该作者
原帖由 artlover 于 2006-5-20 10:30 发表




可以在显示文章的页面代码加一句

  1. $_SESSION['article_id'] = 当前文章id
复制代码


在你页面底部的评论表单里面只设置标题和内容,FORM 的 action 也不要设置文章 articleid,
比如你发表评论 ...


我spam之前先让机器人获得页面的所有header,然后spam的时候把所有header再给你,你怎么知道这个PHPSESSID是机器人给你的还是人类通过点按钮给你的?

论坛徽章:
0
19 [报告]
发表于 2006-05-20 13:59 |只看该作者
phpsessid可以捕获然后再发送出去---浏览器本质上是程序.所以浏览起能做什么,则程序也就能够做什么(看上去似乎是废话).
spam要伪装的不彻底,则被认为是垃圾根据这个可以防止一部分spam.
有兴趣可以看看
Bad Behavior原理分析
http://axgle.com/?p=51

论坛徽章:
0
20 [报告]
发表于 2006-05-20 14:01 |只看该作者
谢谢楼上2位的建议。 的确用seesion是一个办法,但和其他hidden input一样, 都是暂时性的.不能抵御一些高级spam机器.

但是在没有一劳永逸的解决方案的情况下,经常修改input的方法算是个变通办法.
0.初级spam 通过IP,reffer,内容过滤来鉴别. 但从这几个因素现在已经很难了鉴别了.
1.如果spam程序是简单的 post,就增加几个hidden input
2.如果spam扫描form内容,获取所有input,就用 seesion
3.如果spam扫描head, 就用图形验证码
4. 如果spam还带有 OCR, 就出智力题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP