我有两个PHP文件:PHP接受GET方法只能从
1.PHP
<?php
... header("location: 2.php?id=1");
?>
2.PHP
<?php
... echo $_GET['id'];
?>
URL从1.PHP到2.PHP是:http://localhost/2.php?id=1
我的问题。是否有可能验证方法来自哪里,只接受来自1.php。但是,如果有人在地址栏中更改ID值,那么忽略?与$_SERVER['HTTP_REFERER']
东西,但我不知道
'HTTP_REFER ER'是正确的答案,但它很容易被客户欺骗,并且可以被防火墙和代理修改或删除,所以它是完全不可靠的。另外,你打算如何做这个用户是坐在你的'2.php'页面并点击刷新键?作为一个用户,我希望能够工作,但你的想法意味着它不会。对最终用户不太好。 – Simba
@Simba'HTTP_REFERER'不应该被依赖,这就是为什么http://stackoverflow.com/a/6023980/ –
*“是否有可能......并且只有在来自1.php时才接受”* - 是的,与'stripos()'http://php.net/manual/en/function.stripos.php并检查使用什么方法。 –