PHP如何防止远程提交? 大家想想,信息群发软件,远程提交连注册用户,登陆,然后发信息,功能都有, session和验证有什么用? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?$servername=$HTTP_SERVER_VARS['SERVER_NAME'];$sub_from=$HTTP_SERVER_VARS["HTTP_REFERER"]; $sub_len=strlen($servername);$checkfrom=substr($sub_from,7,$sub_len);if($checkfrom!=$servername){echo("数据来源有误!请从本站提交!");exit;}?> pswdf(小邪),看来你在这方面经验比较少,不要以为群发器有什么了不起的,他也要通过验证的才能发送信息的 to uuq(杜牧)"取得上一页提交地址。不是本机不允许。"这个好像可以用header那里欺骗的,不过我没真正试过,不知道有没有朋友指正 armi514(armi514)的思路还可以。session 是绝对不行的。而且也不可取。群发器真的比较烦,可绝对可以通过验证的。因为他把发送的信息全部保存了。每次要发的时候,只要点击一下发送就可以了。(虽然我们可以每只限制最多只能发一次)但是这样,他发一遍一遍的发也挺方便的。附:现在群发器可以自动注册用户,然后登陆,然后发垃圾信息一气呵成。 如果这个软件被很多人使用,结果大家可以可想而知了。 回复人: ice_berg16(寻梦的稻草人) ( ) 信誉:100 2004-04-29 22:41:00 得分:0 验证码是随机产生的,而且用图片生成,群发器不会有图片识别功能吧--------------------------------------------------------如果真要有心,想做的话,PHP可以实现图片的模式识别~~~ 我在我写那个留言板里只是简单的使用了<?phpif(isset($_SERVER["HTTP_REFERER"]))//针对部分浏览器可能无HTTP_REFERER, 所以做这么一个判断{ $server_name = $_SERVER["SERVER_NAME"]; $url = parse_url($_SERVER["HTTP_REFERER"]); if($url["host"]!=$server_name) { echo "<script language='javascript'>window.alert('表单提交错误,请勿使用任何外部程序提交表单!');window.opener=self;window.close();</script>"; exit(); }}?>这样来防止外部提交~~~不过HTTP_REFERER是可以伪造的,防君子不防小人的方法~~~ 使用SESSION或COOKIE记录上次发帖时间~~~然后每次比较当前时间和上次时间的差值,只有超过设置的差,才可发帖~~~ 大家都说HTTP_REFERER可以伪造,能说说吗 to mikespook:每次都这样,那会不会拖慢服务器速度 论坛数据库构造问题 简单的两句话,执行个sql,非说语法错误... 哪位能帮着看看 简单php幼稚问题 ioncube_loader_win_5.2.dll 错误 页面自动刷新(清除缓存) 小弟命苦阿!。。。。。。。 急急急!!!!!为什么图片传不上去 紧急请求帮助 求助!在XP下安装PHP,启动apache时不显示php running 那里有像csdn这样的论坛? 用户注册过程怎么样自动生成一个密码? 如何用软件批量替换文本
$servername=$HTTP_SERVER_VARS['SERVER_NAME'];
$sub_from=$HTTP_SERVER_VARS["HTTP_REFERER"];
$sub_len=strlen($servername);
$checkfrom=substr($sub_from,7,$sub_len);
if($checkfrom!=$servername){
echo("数据来源有误!请从本站提交!");
exit;
}
?>
"取得上一页提交地址。不是本机不允许。"
这个好像可以用header那里欺骗的,不过我没真正试过,不知道有没有朋友指正
每次要发的时候,只要点击一下发送就可以了。(虽然我们可以每只限制最多只能发一次)
但是这样,他发一遍一遍的发也挺方便的。附:现在群发器可以自动注册用户,然后登陆,然后发垃圾信息一气呵成。
如果这个软件被很多人使用,结果大家可以可想而知了。
验证码是随机产生的,而且用图片生成,
群发器不会有图片识别功能吧
--------------------------------------------------------如果真要有心,想做的话,PHP可以实现图片的模式识别~~~
<?php
if(isset($_SERVER["HTTP_REFERER"]))//针对部分浏览器可能无HTTP_REFERER, 所以做这么一个判断
{
$server_name = $_SERVER["SERVER_NAME"];
$url = parse_url($_SERVER["HTTP_REFERER"]);
if($url["host"]!=$server_name)
{
echo "<script language='javascript'>window.alert('表单提交错误,请勿使用任何外部程序提交表单!');window.opener=self;window.close();</script>";
exit();
}
}
?>
这样来防止外部提交~~~不过HTTP_REFERER是可以伪造的,防君子不防小人的方法~~~
然后每次比较当前时间和上次时间的差值,只有超过设置的差,才可发帖~~~
每次都这样,那会不会拖慢服务器速度