关于PHP中验证码的问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 02:46:48
请教下高手,,一个简单 的问题
主要代码:
session_start();
$yanzheng1=mt_rand(1000,9999);
session_register(yanzheng1);

$yanzheng=$_POST[yanzheng];
if($yanzheng!=$_SESSION[yanzheng1])
{ echo"<script>alert('验证码错误!');window.location.href='denglu_a.php';</script>";
}
验证码:<input type="text" name="yanzheng" size="6" maxlength="8">
<div><? echo $yanzheng1; ?></div>
为什么老是说验证码错误?
好了呵呵把<div><? echo $yanzheng1; ?></div>
换成<div><? echo $_SESSION[yanzheng1]; ?></div>就好了呵呵

那是因为,php.ini 中的register_global = off;
修改成on就可以了,不过在php5后默认是将其设置为off,
因为直接获值并不安全,想想如果用户知道你的session的名字
那他是不是可以通过get,或post方法修改你的session呢?
因为获值是只要名字就行了!
php5一般使用超全局变量!
$_GET
$_POST
$_COOKIE
$_SESSION

另楼主的书好像有点老了,session_register在php5中已经不推荐使用了,现在可以直接赋值了$_SESSION['yzm'] = 100;

注:听说php6已出来了!

研究学习
请问这个什么?