php跨域提交form表单,关于表单跨域提交的防范,一些疑问

今天看到书上写的关于防止跨域提交的方法,他是在表单提交页面生成一个隐藏的input,值是存在session里随机数

index.php页面

session_start();

$token = md5(mt_rand());

$_SESSION['token'] = $token;

?>

以下是b.php代码

if($_POST['token'] == $_SESSION['token'])

{

# do code

}

我的疑问是这样真的可以防范跨域吗?假如我现在访问index.php 然后右键查看源代码,把token复制下来,在本地新建一个表单页面,地址也提交到b.php,用复制好的token值,不就完成跨域了吗

谢谢几位的耐心解答,月领的一句话提示了我,我又翻阅了一下书上会话控制这节,简单说一下session机制,不同计算机访问服务器上的index.php脚本,会在你本地设置一个值唯一的session_id的cookie文件,同时服务器上也也会存在一份和你本地session_id值相同的数据,里面保存有$_SESSION['token']的值。所以说由于你本地cookie中session_id的唯一性,不同计算机在服务器上的session数据是不一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值