我正在絞盡腦汁,爲什麼這是行不通的。限制訪問如果不是來自某些引用者PHP
我想實現的目標是限制訪問我自己的網站上的頁面,只有來自某個網站,例如Facebook。
由於鏈接將發佈在1個或更多Facebook頁面和/或我的個人檔案中,因此希望腳本在來自Facebook和/或任何其他發佈的「頁面」時執行。
舉例來說,如果我後我的鏈接www.facebook.com/This_is_my_PAGE或貼在我的個人資料www.facebook.com/freds_personal_profile或有人分享我在Facebook上的鏈接,希望頁只能訪問來自Facebook域名的用戶。
我在搜索解決方案時發現了下面的腳本,但它回顯了我的錯誤消息,而不是重定向到有問題的鏈接。
$target_site = 'https://www.facebook.com/';
if (isset($_SERVER['HTTP_REFERER']) && preg_match("/$target_site/",$_SERVER['HTTP_REFERER'])) {
// do something with people from facebook.com
}
else {
// do something else with everyone else
echo "Sorry, viewable to Facebook fans only.";
}
也許你應該在錯誤信息中回顯'$ _SERVER ['HTTP_REFERER']'的內容。這會給你一個提示。 – jasonlfunk
HTTP_REFEER不是強制性標題,它可能不會被瀏覽器設置。 – Zefiryn