我有兩個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並檢查使用什麼方法。 –