请大家帮忙提供一段制止在留言本中滥发留言的代码,谢谢!

ying8536 2010-04-23 09:46:45
我的网站上有一个用户留言的留言本,供大家发表意见,但是最近发现,有人在上面恶意灌水,滥发全是字母的广告信息。
他们的主要方式是:通过不停地变换IP(nnd,是国外的ip),在必填项目中如姓名、主题、内容中 随机的按一些英文字母,(没有汉字),迅速的发帖子,为此,作为网站管理员根本删不及这些垃圾留言

在此请教高手师傅帮忙给段ASP代码,实现以下功能
备注:数据库名称为liuyanben
1、主题(数据库字段为title)限制为,不能全是字母或数字,必须有中文
2、同一用户(数据库字段为name)或同一IP段即前9位相同的ip( 数据库字段为ip)在一天之内最多发表5篇留言
3、帖子内容(数据库字段为neirong)限制为,不能全是字母或数字,必须有中文字符。

本人系小菜鸟,刚刚开始学ASP,不太会调试,所以还请各位高手大哥给小弟指点完整的代码,不胜感激!!!
...全文
133 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
linlusheng 2010-04-26
  • 打赏
  • 举报
回复
首先从源头上,用验证码挡住一部分,其次在内容上,过滤某些关键字段,比如连续两个a的等等,看楼主你了
helloword222 2010-04-25
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 huangshilin 的回复:]
输入验证码怎么只能解决部分问题?
[/Quote]

是啊,为什么只能解决部分问题呢?
php_wsd 2010-04-25
  • 打赏
  • 举报
回复
有必要吗?
没有审核的就不要让它显示出来

你也可以试试将留言本的路径换一下试试,应该垃圾留言就没有了
ying8536 2010-04-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 asyncyd 的回复:]
改为留言审核后出现效果最好
[/Quote]
已经添加了审核,但是,页面上显示上千条“正在审核”也不好看呀~~
never exists 2010-04-25
  • 打赏
  • 举报
回复
加验证码 再加时间控制 20S内不允许连续发帖
huangshilin 2010-04-25
  • 打赏
  • 举报
回复
输入验证码怎么只能解决部分问题?
qinjianer 2010-04-24
  • 打赏
  • 举报
回复
加验证码就可以解决一部分问题,然后给每个用户加一个cookies,在一定时间内,cookies不能改变,来限制这种恶意灌水
wbaige 2010-04-24
  • 打赏
  • 举报
回复
根据输入字符编码来判断是否输入汉字,没有输入汉字不保存就行
xiaobaigou2008 2010-04-24
  • 打赏
  • 举报
回复
我的站也遇到过与你一样的问题 都是国外的ip 发的内容全是一些药品广告 后来通过使用验证码解决了 但是验证码一定要用图片的那种 否则是很容易破解的
never exists 2010-04-23
  • 打赏
  • 举报
回复
加验证码
1米 2010-04-23
  • 打赏
  • 举报
回复
我朋友以前也遇到过这情况,一天注进来十几万条数据.
你生成的文字是怎么显示的,是生成图片还是直接显示在网页.也不知道怎以说.
可以加个非法字符限制文件(防注入)看看
helloword222 2010-04-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 asyncyd 的回复:]
改为留言审核后出现效果最好
[/Quote]

但是如果出现 1 楼所说的,有十几万条垃圾,也够后台管理忙的!!!!
mz48602 2010-04-23
  • 打赏
  • 举报
回复
给你一个简单的实例
前台表单代码:
<input name="otherpwd" type="text" id="otherpwd" size="6" maxlength="20" class=button1>
<%
dim temprnd
Randomize
temprnd=cstr(Int((9999 - 1000 + 1) * Rnd() + 1000))
response.Write (temprnd)
%>
<font color="#FF0000">*</font><input type="hidden" name="reotherpwd" value="<%=temprnd%>">
<input type="hidden" name="action" value="addyan">

下面是提交处理过程:
<%
otherpwd = HX_Replace(cstr(Trim(Request.form("otherpwd"))))
reotherpwd = HX_Replace(cstr(Trim(Request.form("reotherpwd"))))
if otherpwd=reotherpwd then

此处填写表单提交过程

else
Response.Write "<script>alert(""验证码错误!"");location.href=""book.asp"";</script>"
end if




%>
mz48602 2010-04-23
  • 打赏
  • 举报
回复
你可以在发表留言时加入验证码,并且设置验证码为必填项!就可以了!
因为验证码为图形文字,只要刷新就会变化,机器无法识别所以软件就无法批量发布留言了!
asyncyd 2010-04-23
  • 打赏
  • 举报
回复
改为留言审核后出现效果最好

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧