PHP如何正确生成Cookie, 保证按特定路径打开指定的网页?
我有一个图片验证网页verification.php, 就是登录网页.
- PHP code
<?php if(输入的图片验证码正确 && 生成Cookie) {跳转到data.php;} else {跳转到转到error.htm;} ?>
还有一个数据网页data.php.
- PHP code
<?php if(浏览器已经有这个Cookie) {显示数据;} else {跳转到error.htm;} ?>
我一直担心某些用户会直接使用浏览器登录数据页面data.php, 而不先登录到验证网页verification.php.
那么PHP如何在数据网页data.php里, 验证这个专门来自验证网页verification.php生成的Cookie? 注意:不能和其它网站的Cookie或这个网站的其它网页生成的Cookie混淆.
是不是还要用到SHA1验证Cookie?
------解决方案--------------------
你自己定义一个cookie的名称还怕跟别的cookie混淆?
那你就定义一个比较复杂的名称咯,长点没关系
------解决方案--------------------
如果 直接使用浏览器登录数据页面data.php 将不会有 cookie 变量
如果你担心用户伪造 cookie 那么可以在cookie 中放入特殊标志(token)并与服务器端缓存的值进行比对
------解决方案--------------------
我之前的项目都是用的session 在里面存个字段login_flg来辨别登陆状态。
在php中做login_flg 的判断 没有登录的直接做location跳转让他去登陆。
------解决方案--------------------
传个加密数据,只有服务端知道怎么解密,例如把当前时间进行加密,解析为当前时间相差十分钟以内就行,也解决了别人盗取你的数据使用
------解决方案--------------------