是否有一個簡單的腳本,只允許來自我選擇的網站的訪問者訪問?PHP腳本只允許來自某個域的流量?
回答
您可以使用$_SERVER['http_referer']
但這可以很容易僞造。
如果您獲取了他們的引薦來源信息,您可以根據已接受的網站來源列表對其進行檢查,並將其重定向到他們來自的網站(如果您不需要)。
$_SERVER["HTTP_REFERER"]
檢查引用是完成這一任務的最可靠的方法,但你應該知道,並不是所有的用戶代理(也稱爲瀏覽器)發送完整的或正確的引用。
事情是這樣的:
$target_site = 'http://www.google.com';
if (isset($_SERVER['HTTP_REFERER']) && preg_match("/$target_site/",$_SERVER['HTTP_REFERER'])) {
// do something with people from google.com
} else {
// do something else with everyone else
}
瞭解更多關於它:http://www.electrictoolbox.com/php-http-referer-variable/
PHP手冊上$_SERVER
超全局:http://php.net/manual/en/reserved.variables.server.php
爲了增加您的第一點,我曾因爲某些原因將Chrome返回'favicon.ico'作爲引用者。 – 2011-04-25 16:10:40
我將如何修改該代碼,將好用戶重定向到我的網站,並將不允許的用戶重定向到錯誤頁面? – don3434 2011-04-25 16:22:47
使用php命令'header'。例如:'header('location:http://www.gotothissite.com');'。請參閱手冊:http://php.net/manual/en/function.header.php – 2011-04-25 16:29:17
- 1. 只允許來自特定域
- 2. 只允許來自引薦網址的流量
- 3. php只允許訪問某個文件?
- 4. PHP - 只允許從一個域訪問
- 5. 只允許PHP中的某些字符
- 6. 只允許一個腳落
- 7. 只允許來自特定電子郵件域的註冊
- 8. 只允許某些事件
- 9. 只允許某些字符
- 10. 允許來自Azure中的登臺槽中的webjob的流量
- 11. socket.io安全性 - 可能只允許來自特定域?
- 12. 只允許某個UIGestureRecognizer一次執行
- 13. 允許一個腳本來通過多個版本的Python
- 14. 只允許填寫x個表單域
- 15. 只允許某個用戶訪問Kentico中的某個頁面
- 16. 只允許一個python腳本的1個實例
- 17. 只允許1調用PowerShell腳本來運行
- 18. 只允許選定的域訪問某些頁面
- 19. PHP允許某些值
- 20. 允許PHP腳本ssh使用sudo
- 21. 可以允許cors只從一個域訪問php
- 22. PHP Programmaticaly允許/拒絕域
- 23. htaccess的只允許從一個特定腳本(不是由IP)
- 24. 使用Cron一次只允許一個PHP腳本的實例遇到麻煩
- 25. 允許運行一個php腳本的多個實例
- 26. 哪個Java Web框架允許跨域Java腳本(http代理)?
- 27. 只允許來自datagridview的列只能插入數字
- 28. 跨域如果來自同一個域的2個腳本?
- 29. Apache X-Frame-Options允許來自多個域
- 30. X-框架 - 選項允許-來自多個域
@布賴恩但絕對沒有錯,要求對堆棧溢出這個問題。 (這是一個非常懶惰的問題,說。 – 2011-04-25 15:59:29
@middaparka我同意,但這個問題有相當廣泛的網絡上的其他來源的覆蓋面,所以我沒有看到在這裏消耗更多的資源的一點。因此,我的建議。 – 2011-04-25 16:01:05
@Brian Driscoll:請停止告訴人們谷歌。這個網站是谷歌最好的搜索結果之一,如果你知道它,只是鏈接到一個頁面,否則這是沒有用的。 *(假設「最喜歡的搜索引擎」是谷歌) – 2011-04-25 16:03:43