是否有一個簡單的腳本,只允許來自我選擇的網站的訪問者訪問?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. 只允許來自某個URL的表單提交? (iframe,Laravel)
- 6. 只允許來自某個URL的請求
- 7. PHP - 變量,只允許文本
- 8. 只允許PHP中的某些字符
- 9. 只允許一個python腳本實例?
- 10. 只允許一個腳落
- 11. 只允許鏈接的文本字段的PHP腳本
- 12. iptables是否只允許某個域名的DNS查詢?
- 13. 只允許某個字的驗證
- 14. 只允許來自特定電子郵件域的註冊
- 15. 只允許某些服務器/網站連接到腳本
- 16. 只允許某些事件
- 17. 只允許某些字符
- 18. 只允許某個域名訪問網絡api
- 19. 允許來自Azure中的登臺槽中的webjob的流量
- 20. socket.io安全性 - 可能只允許來自特定域?
- 21. 只允許某個UIGestureRecognizer一次執行
- 22. 允許跨域腳本和訪問兩個域
- 23. 只允許腳本訪問文件iis7.5
- 24. 允許一個腳本來通過多個版本的Python
- 25. 只允許我的服務器執行PHP腳本
- 26. 只允許在一個領域
- 27. 只允許填寫x個表單域
- 28. 只允許某個用戶訪問Kentico中的某個頁面
- 29. 只允許一個python腳本的1個實例
- 30. 只允許1調用PowerShell腳本來運行
@布賴恩但絕對沒有錯,要求對堆棧溢出這個問題。 (這是一個非常懶惰的問題,說。 – 2011-04-25 15:59:29
@middaparka我同意,但這個問題有相當廣泛的網絡上的其他來源的覆蓋面,所以我沒有看到在這裏消耗更多的資源的一點。因此,我的建議。 – 2011-04-25 16:01:05
@Brian Driscoll:請停止告訴人們谷歌。這個網站是谷歌最好的搜索結果之一,如果你知道它,只是鏈接到一個頁面,否則這是沒有用的。 *(假設「最喜歡的搜索引擎」是谷歌) – 2011-04-25 16:03:43