Chinaunix

标题: [SPAM] 大家对防止SPAM有什么经验 [打印本页]

作者: imbiss    时间: 2006-05-17 18:19
标题: [SPAM] 大家对防止SPAM有什么经验
比如
防止垃圾回复用 校验码
防止垃圾Trackback 用 md5作为ID取代普通ID
等等
还有什么招数?

[ 本帖最后由 HonestQiao 于 2006-5-22 13:07 编辑 ]
作者: hightman    时间: 2006-05-17 18:45
就用验证码了
作者: imbiss    时间: 2006-05-17 21:09
能不能这样? 在回复的form里面加入一个隐藏的input, 值是你要恢复的贴字的某个特征的md5.
比如是发表时间的md5.(当然可以是不同的,只要不能让别人看得出是什么的md5)
发表的时候,先验证此md5和你要回复的哪个贴字的时间的md5是否相等.
因为次md5不会重复,相当于就是一种验证码了. 而且制造垃圾贴的程序无法知道,所以就发不了了.

优点在于
1.无须要求用户额外输入验证码
2.  没有图象处理, 系统开销应该比验证码要小.

大家看有无漏洞.
作者: axgle    时间: 2006-05-17 21:22
优点成立,但缺点也存在---程序可以先读你的md5,然后在post数据啊--图片都可以被识别,何况是文本文字
作者: crazysoul    时间: 2006-05-17 22:15
原帖由 imbiss 于 2006-5-17 21:09 发表
能不能这样? 在回复的form里面加入一个隐藏的input, 值是你要恢复的贴字的某个特征的md5.
比如是发表时间的md5.(当然可以是不同的,只要不能让别人看得出是什么的md5)
发表的时候,先验证此md5和你要回复的哪个贴 ...


input type="hidden"
对程序来说跟type="text"没区别.
要防止的是制造SPAM的程序,而不是欺骗自己的眼睛.
作者: imbiss    时间: 2006-05-17 22:43
对.
增加一个隐藏input不能根本解决问题. 但是可以至少暂时抵挡一下,直到垃圾商作出相应修改.
作者: HonestQiao    时间: 2006-05-18 11:43
微软现在做的很不错,使用声音,而且加了干扰
作者: mikespook    时间: 2006-05-18 15:42
说道语音我到想到一个实现~~
WAV格式除了头以外波表部分是固定的~~那从文件中读出波表部分直接合并成一个WAV流~然后输出~~这个应该不难~~
作者: imbiss    时间: 2006-05-18 17:25
难道让用户对话筒说话才能发帖??
作者: geel    时间: 2006-05-18 22:05
其实就是一个如何判断操作者是人还是机器的问题,但是既要做到体验流畅又要防止机器人,难
作者: HonestQiao    时间: 2006-05-18 22:12
原帖由 geel 于 2006-5-18 22:05 发表
其实就是一个如何判断操作者是人还是机器的问题,但是既要做到体验流畅又要防止机器人,难



那就来一个智商测试!
作者: geel    时间: 2006-05-18 23:08
原帖由 HonestQiao 于 2006-5-18 22:12 发表



那就来一个智商测试!


智商小于60的不让提交……容易成被告,告你歧视,哈哈
作者: artlover    时间: 2006-05-19 00:02
还是用session的好
在浏览的时候设置当前页面的 id
发布回复的时候直接从 session 提取 id
作者: imbiss    时间: 2006-05-19 04:07
原帖由 artlover 于 2006-5-19 00:02 发表
还是用session的好
在浏览的时候设置当前页面的 id
发布回复的时候直接从 session 提取 id

这个能有用吗??

按照我的已开始的想法,我已经实现了。2天试用下来,觉得效果不错。当然,正如前面几个高手说的,我那个措施只是骗自己的小伎俩。但是spam从每天的300多降为0了。
只是不知道,能维持多久。垃圾商针对这个措施再作修改,比如读取hidden input后在post,那我还要修改。
作者: imbiss    时间: 2006-05-19 04:13
说道智能测试,不过的确有人提出了一些基于验证码的方案。

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

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

人是活的,办法还是有的。
作者: mikespook    时间: 2006-05-19 11:58
说实话中文这个比较#$%#$%..................

有时出来的是那种生僻字~~都不认得~~就算认得,有时输入法里还没有~~有些BT~~
作者: artlover    时间: 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 ,重定向页面。

如果有的话,就是有效评论,执行操作即可。
作者: geel    时间: 2006-05-20 13:45
原帖由 artlover 于 2006-5-20 10:30 发表




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

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


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


我spam之前先让机器人获得页面的所有header,然后spam的时候把所有header再给你,你怎么知道这个PHPSESSID是机器人给你的还是人类通过点按钮给你的?
作者: axgle    时间: 2006-05-20 13:59
phpsessid可以捕获然后再发送出去---浏览器本质上是程序.所以浏览起能做什么,则程序也就能够做什么(看上去似乎是废话).
spam要伪装的不彻底,则被认为是垃圾根据这个可以防止一部分spam.
有兴趣可以看看
Bad Behavior原理分析
http://axgle.com/?p=51
作者: imbiss    时间: 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, 就出智力题
作者: axgle    时间: 2006-05-20 14:10
原帖由 imbiss 于 2006-5-20 14:01 发表
0.初级spam 通过IP,reffer,内容过滤来鉴别. 但从这几个因素现在已经很难了鉴别了.

实际上Bad Behavior就是用的ip,reffer,user_agent等分析的.还包括对http协议的分析,以及对IE,opera,等浏览器,搜索机器人等的识别等
作者: axgle    时间: 2006-05-20 14:11
Bad Behavior的下载
http://www.ioerror.us/software/bad-behavior/
作者: fortitude    时间: 2006-05-20 15:02
“全中文验证码”

这个够狠的。。。确实。
作者: netice    时间: 2006-05-21 16:12
人与机器的重要区别——联想能力
人能将残缺的信息补全为自己熟悉的映像
对验证图片作噪声和残缺处理,不知OCR
能对付不
作者: imbiss    时间: 2006-05-21 17:14
原帖由 netice 于 2006-5-21 16:12 发表
人与机器的重要区别——联想能力
人能将残缺的信息补全为自己熟悉的映像
对验证图片作噪声和残缺处理,不知OCR
能对付不

能。 你小看现在的图像处理能力了。
出去噪声和参数猜测在图像处理中都输入常用。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2