我有一個HTML代碼請求到PHP服務器。我只想參加我的HTML代碼的請求,而不是其他人。我認爲使用JavaScript來做一些事情就像一個令牌一樣,只是回答正確的令牌,但我遇到了一個問題:我使用MediaWiki,JavaScript代碼是「開放源碼」(是的,POST請求是從MediaWiki中完成的)。私人HTTP/POST
有誰知道如何做一個私人POST請求?
我有一個HTML代碼請求到PHP服務器。我只想參加我的HTML代碼的請求,而不是其他人。我認爲使用JavaScript來做一些事情就像一個令牌一樣,只是回答正確的令牌,但我遇到了一個問題:我使用MediaWiki,JavaScript代碼是「開放源碼」(是的,POST請求是從MediaWiki中完成的)。私人HTTP/POST
有誰知道如何做一個私人POST請求?
生成隨機令牌像
$_SESSION['token']=sha1(uniqid(mt_rand(), true));
把令牌值在一個隱藏的輸入
<input type='hidden' name='token' value=$_SESSION['token'] />
然後,在你的PHP檢查,如果該令牌被送到
if($_REQUEST['token']!=$_SESSION['token']){
syslog(LOG_ERR, "Request from other site ...");
die("Request failed. (Disabled cookies?) Contact administrator: ...");
}
看這個鏈接:http://en.wikipedia.org/wiki/Cross-site_request_forgery
除了您已經想到的令牌之外,您只能通過檢查'$ _SERVER ['HTTP_REFERRER']'來做到這一點,但這也是不可靠的。只要你的腳本沒有任何授權或IP限制,你就不能輕易阻止對它的請求。 –
有什麼方法可以獲得有關請求的人的可靠*信息? – Doon