有沒有一種方法可以讓php知道用戶是直接輸入地址還是來自點擊或其他方法,最終會導致php生成的頁面?如何檢查一個URL是否輸入或來自一個點擊在PHP?
這個問題純粹是出於好奇,所以迫切性非常低。但是,如果你想不時地回答,謝謝。 :D
有沒有一種方法可以讓php知道用戶是直接輸入地址還是來自點擊或其他方法,最終會導致php生成的頁面?如何檢查一個URL是否輸入或來自一個點擊在PHP?
這個問題純粹是出於好奇,所以迫切性非常低。但是,如果你想不時地回答,謝謝。 :D
您可以使用$_SERVER['HTTP_REFERER']
。它應該設置爲將用戶引用到您的頁面的頁面。如果用戶輸入地址,它將是空的。
但是,請注意,它不可靠,並且可以由用戶輕鬆修改。正如PHP doc所說,你無法真正相信它。
你可以看看http_referrer,對於直接在地址欄中輸入的網頁,它不應該有任何引用,但是通過點擊加載的頁面將有一個引用。
$direct = (bool)$_SERVER['HTTP_REFERER'];
一般來說,你不能。 !
0)輸入(或複製粘貼)鏈接 - REFERER將是空
1)鏈接點擊網頁上的 - REFERER將設置
2)鏈接在點擊電子郵件客戶端(基於如Gmail不是web) - REFERER將加載主頁空
3)鏈接 - REFERER將是空
4)從書籤加載鏈接 - REFERER將是空
因此,使用PHP $_SERVER['HTTP_REFERER']
變量,你只能從所有其他情況下區分情況1 ...
使用HTTP_REFERRER用於此目的是非常不可靠。當用戶在某些瀏覽器中鍵入URL時,HTTP_REFERRER爲空。在Chrome 19中它是NULL,它在IE8中不是NULL。
是的,我寫了一個小應用程序,它的工作。並感謝您的額外信息 – dqiu