简单验证不奏效,如何有效防止留言机器人

axolo 2007-06-05 02:04:28
简单验证不奏效,如何有效防止留言机器人!


www.ebysky.com/guest.php

俺写了个留言本,没几天,机器人来了,用了简单验证,不奏效。
请教防机器人思路,谢谢。
...全文
476 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
meikeer 2007-06-08
  • 打赏
  • 举报
回复
<input type="text" readonly='readonly' name='numchk' id='numchk' size='5' value='49717' dataType='Repeat' to='p_num' msg='楠岃瘉鐮佷笉鍖归厤' style='background:#D3D3D3;text-align:center;font-family:Courier;color:#4169E1;font-weight:bold;'/>

拜托,这样的验证码根本不起作用,最起码要作成图片的,你现在的验证方式只要读取numchk的值就可以用机器人灌水了
foolbirdflyfirst 2007-06-07
  • 打赏
  • 举报
回复
$_SESSION['num']居然无值!!!
如何把这个RAND值给代出来,给验证的脚本用呢?
如何判断呢?
=================================
怎么会无值呢?有的.
badwish 2007-06-07
  • 打赏
  • 举报
回复
其次,还可以验证信息来源,如果是本站提交的数据就接收,如果不是就停止。
if(strpos($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME'])<0){
echo "请到本站页面提交数据!";
return;
}
badwish 2007-06-07
  • 打赏
  • 举报
回复
$authnum=mt_rand(1000,9999);
改成:
srand();
$authnum=rand(1000,9999);
在生成随机数之前,要有随机种子。
axolo 2007-06-07
  • 打赏
  • 举报
回复
20分太少么???

<?php
Header("Content-type: image/PNG");
session_start();
$authnum=mt_rand(1000,9999);
$_SESSION['num']=$authnum;

$im = imagecreate(56,20);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
$gray = ImageColorAllocate($im, 200,200,200);
imagefill($im,0,0,$gray);

imagestring($im, 5, 10, 3, $authnum, $black);
for($i=0;$i<200;$i++)
{
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
}
ImagePNG($im);
ImageDestroy($im);

?>

$_SESSION['num']居然无值!!!
如何把这个RAND值给代出来,给验证的脚本用呢?
如何判断呢?
天降大任于斯 2007-06-07
  • 打赏
  • 举报
回复
验证的脚本也要打开session
session_start()
才能接受到session值
luojxun 2007-06-05
  • 打赏
  • 举报
回复
不就流行的验证码

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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