php页面指定来源页面执行?

如题:a.php页面中有一个js按钮是触发执行b.php
问:如何在b.php中写代码防止非从a.php中js按钮触发来的浏览呢?(不用session的话)

阅读 1.7k
2 个回答

加密一个有规律的随机参数由a传给b, 在b上解密确认,只要解密密钥不公开就好.



//a.php 加密部分
$rnd = (time()/31)*31 ^ 0xC0FECAFE;
echo $rnd;


//b.php 解密部分
$res = $rnd ^ 0xC0FECAFE;

if( $res % 31 ==0)
echo " 符合规则\n";
if(time()-$res >50000)
 echo "超时了\n";
else 
  echo "Good!\n";

检查$_SERVER['HTTP_REFERER']这个变量,但是这个不是那么靠谱,因为这个变量来自于浏览器,容易被篡改(或者不发送),靠谱一点还是session。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题