我有一個service.php類,我用它來服務來自我的網站的AJAX調用。爲了防止其他人使用PHP CURL訪問服務,我通常會檢查請求是否來自mysite,如果他們不是,那麼只是重定向到我的主頁,例如如何可靠地檢查對我的服務文件的請求是否來自我的網站?
if($_SERVER['HTTP_REFERER'] != "http://www.mysite.com"){
header('location: http://www.mysite.com');
exit;
}
我在PHP聖經閱讀:
是
「不是所有的用戶代理都會設置這個,有的提供能力修改HTTP_REFERER作爲一項功能,簡而言之,它不能真正被信任。「
因此,如果這種方法不可靠,我的問題是如何可靠地檢查對我的服務文件的請求是否來自我的網站?
感謝您提供任何幫助!
答案很簡單:你**不能**。即使你暫時阻止了一個小偷,他也會來這裏進行堆棧轉換,並獲得完整而準確的解決方案,以避免它。 – 2011-01-08 10:39:01
只要'woot586'不在這裏發佈他的祕密字符串,他會沒事的我想? – Nanne 2011-01-08 10:40:59