俞敏洪创业团队:高分求信息网站防供求信息群发代码!

来源:百度文库 编辑:高校问答 时间:2024/04/27 14:16:32
我有个供求信息网站。但都是群发的垃圾信息很多。换了两个版本还是一样。现求防垃圾信息代码,高手帮帮我!我分数追加500分!
我就是后台审核,天天有500多条信息,手都删软了!
他不是以网页方式群发的,它是借助群发软件。前台设置验证没用,它好像是直连数剧库一样。我网站是ASP的。也不算大网站。http://www.ptxxw.com/2s/addmsg.asp 这是供求发布页面……

可以通过两个方式解决这个问题:

1。在前台需求信息输入的时候,加入验证码和时间判断,就是一个需求信息输入后,必须要XX分钟后才能输入,或者一个IP输入信息后,必须要XX分钟后才能输入。

2。程序中加入对供求信息的判断,主要是垃圾信息和无用信息,这估计需要一个算法来实现。

你的网站是什么类型的?
1:这种垃圾代码很多都是由于他发了以后,点回退,接着再发

我不知道你是什么技术的网站(asp,.net,jsp)
在你的网页上加一段代码,不让IE缓存,这样它就无法这种继续发了(因为不知道你的是什么技术网站,无法给你代码)

2:设置验证码,用户发的时候设置一个验证码,这样它也发的慢了

之所以垃圾信息多,就是因为用户发信息太方便了,你可以从这里考虑,呵呵

很简单
参考
一、使用增强的验证码

这是一个比较正式使用比较广泛的做法。将你联想到手机强大的手写识别功能后,你就会对这种方法的可靠性提出怀疑。但是如何更好地增大软件的识别难度,仍是大家努力的方向。

二、让注册者回答固定问题

软件能识别验证码,但是绝对不会识别诸如以下文字:“请回答三加二等于几,用英文表示”。人工智能还达不到这种水平。基于这种思路,我们就可以让注册者回答问题。但这个问题绝对不要写成:“请回答本论坛的名字”,“今天是星期几”,“请复制以下文字”之类的易破解问题。你可以考虑让用户回答与论坛有关的话题。假设你的论坛是讨论金庸的。你可以这样说:“为证明你是一个金庸迷,请回答以下问题:《射雕英雄传》的东邪西毒南帝北丐中,西毒是谁”。

我这里只给出了思路,由于时间关系,还没有写相应的实现代码。如果大家支持本帖,我会在下次补上。当然也希望热心人把修改方法提供给大家。

三、让注册者回答随机问题

显然,这是上个思路的一点改进。至于在效果上是否有区别,还未实践证明。

这里我给出了修改方法。蓝色代码为已存在代码,红色代码是新增加代码。

1. 进入后台,风格界面模板总管理,page_login,template.html(13)

<TR>
<TD class=tablebody1><B>密码问题</B>:<BR>忘记密码的提示问题</TD>

在此两句上面添加如下代码

<TR>
<TD class=tablebody1>
<div style="color:red"><b>反论坛群发必填项:</b></div>
<div>为了防止群发软件的恶意注册,</div>
<div>请回答以下问题</div>
<div style="color:blue;font-size=18px"><b>{$EvilQuesion}<b></div>

</TD>
<TD class=tablebody1><INPUT size=30 name=evilanswer> </TD>
</TR>

2. 打开reg.asp,找到
<!--#include file="inc/md5.asp"-->
在其下添加
<!--#include file="inc/CheckEvil.asp"-->
找到
TempLateStr=Replace(TempLateStr,"{$user_belief}",Selectinfo(5))
在其下添加
Randomize
Session("EvilID")=int(Rnd*QuesionNum)
TempLateStr=Replace(TempLateStr,"{$EvilQuesion}", QuesionArray(Session("EvilID")))
找到
Else
quesion=Request.form("quesion")
End If
在其下添加
If Request.Form("EvilAnswer")="" Then
ErrCodes=ErrCodes+"<li>"+"请填写防恶意注册问题!"
End If

If Not CheckEvil(Request.Form("EvilAnswer")) Then
ErrCodes=ErrCodes+"<li>"+ "防恶意注册问题回答错误,请返回重试。"
End If

3. 增加一个新文件CheckEvil.asp,填写如下代码,并上传到论坛inc目录下,即 /inc/CheckEvil.asp。
<%
Dim QuesionArray(100)
Dim AnswerArray(100)
Dim QuesionNum
QuesionNum=5 '请在这里正确设置问题的总数

Function CheckEvil(Answer)
Dim TrueAnswer
If Session("EvilID")="" Then
CheckEvil=False
Exit Function
End If
TrueAnswer=CStr(AnswerArray(Session("EvilID")))
If Answer=TrueAnswer Then
CheckEvil=true
End If

End Function

QuesionArray(0)="12的平方是多少?(数字)"
AnswerArray(0)="144"
QuesionArray(1)="中国最长的河流叫什么名字?"
AnswerArray(1)="长江"
QuesionArray(2)="“举头望明月”的下句是什么?(提示:低头??乡)"
AnswerArray(2)="低头思故乡"
QuesionArray(3)="“举头望明月”的下句是什么?(提示:低头??乡)"
AnswerArray(3)="低头思故乡"
QuesionArray(4)="中国史上唯一的女皇是谁?(提示:武?天)"
AnswerArray(4)="武则天"

%>

其实最简单的方法是:把你的供求页面地址在你申请的空间的文件夹中,过一段时间(如2个月)变一下就可以了.

搞个审核之后在发出就可以了嘛,只要管理员看得到,哪前台上面的就看到的垃圾信息就没有了哦,缺点就是管理员得整天在线看着

加一个IP验证器,在同一IP下控制时间 一IP在多少时间之内不允许在发就好了
记得给我分不给分我刷死你,让你在手软几次呵呵