请教PHP怎么样实现前台验证码阿?如果.Net Jsp那样? 那么有什么类似的办法能解决呢 ? .Net 怎么解决的阿? 在第二个页面我也不是不验证 只不过是为了更好的方便用户而已 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dotNET是隐藏传递了postback消息~~~PHP的话使用PEAR就可以简单实现~~~http://www.cnblogs.com/mikespook/archive/2005/03/02/111758.html 用javascript呢? 把验证码的值放在hidden里,提交前用javascript验证一下<?php $yanzhengma=Generate();//服务器生成验证码<html><head> <script language="javascript"> function Validator() { var rigthvalue=document.right.value; var inputvalue=document.form1.t1.value; if(inputvalue!=rightvalue) { alert("验证码错误"); return false;//不提交submit } return true; } </script></head><body> <form method="post" name="form1" onSubmit="return Validator()">//提交时用Validator()检验验证码,如果不同则取消submit <input name="inputvalue" type="text"> //输入验证码 <input type="hidden" name="rightvalue" value="<? echo $yanzhengma; ?>"> //把服务器生成的验证码写入隐藏变量 </form> </body></html>?> 第二个页面不就可以用session了吗? 是呀 第二个页面使用session来验证的阿 那么第一个页面呢 ? 怎么在第一个页面里得到那个验证码的值呢 第二个页面验证了也是有漏洞的因为你可以在客户端比如通过javascript判断验证码是否正确,是建立在客户端能够知道本次的正确值是什么.那同样别人也可以知道本次的正确值是什么,进而提交到第二个页面去判断!结果当然是对的.Chinaren以前就有类似的逻辑错误 第二个页面即使做判断也是有漏洞你可以在客户端用javascript判断验证码正确与否,也就意味着通过分析,别人在客户端得到正确的验证码,进而提交到第二个页面,结果会是什么,当然第二个页面会认可这个值!chinaren以前就出过类似的逻辑错误 图形码的字用seesion保存,然后把这个session和用户提交的字符对比用js检查等于没有检查。 我只不过想吧那个Session值隐藏的传送过来 象mikespook(懒猫开始新生活) 说的那样 基本上象是 “dotNET隐藏传递postback消息~~~” 的方式 關於php將網頁導出word的問題 php move_uploaded_file 上传文件 问题 下拉菜单 <?phpinfo()?>只能显示源代码 急!!!我只有最后的25分了!!! 在线等!!!!!!!!!!!!!! 哪儿有 pear 的中文手册? 如何使用PEAR的Mail_mimeDecode类? 什么方法能把session不放在页首? 一个正则表达式的问题,会的朋友请看看 symfony框架,怎么配置默认的mysql数据库 我用正则 取<span>里的的东西总是弄不对... -_-!!! 紧急求救:mail发送时只发送部分,不能将全部内容发送出去?怎么办?
把验证码的值放在hidden里,提交前用javascript验证一下
<?php
$yanzhengma=Generate();//服务器生成验证码
<html>
<head>
<script language="javascript">
function Validator()
{
var rigthvalue=document.right.value;
var inputvalue=document.form1.t1.value;
if(inputvalue!=rightvalue)
{
alert("验证码错误");
return false;//不提交submit
}
return true;
}
</script>
</head><body>
<form method="post" name="form1" onSubmit="return Validator()">//提交时用Validator()检验验证码,如果不同则取消submit
<input name="inputvalue" type="text"> //输入验证码
<input type="hidden" name="rightvalue" value="<? echo $yanzhengma; ?>"> //把服务器生成的验证码写入隐藏变量
</form>
</body>
</html>
?>
因为你可以在客户端比如通过javascript判断验证码是否正确,是建立在客户端能够知道本次的正确值是什么.
那同样别人也可以知道本次的正确值是什么,进而提交到第二个页面去判断!结果当然是对的.
Chinaren以前就有类似的逻辑错误
你可以在客户端用javascript判断验证码正确与否,也就意味着通过分析,别人在客户端得到正确的验证码,进而提交到第二个页面,结果会是什么,当然第二个页面会认可这个值!
chinaren以前就出过类似的逻辑错误
象mikespook(懒猫开始新生活) 说的那样 基本上象是 “dotNET隐藏传递postback消息~~~” 的方式