我是PHP初學者,想知道是否有頁面A.php,B.php和C.php以及頁面A.php向頁面C.php發送請求我怎麼知道請求來自A. PHP沒有任何其他頁面。 謝謝我如何知道哪個php頁面請求當前的php腳本?
回答
查看php的$_SERVER變量。這聽起來像你想使用$_SERVER['HTTP_REFERER]
。
注意:這不會100%準確,因爲它使用來自瀏覽器用戶代理的信息,這些信息可能被欺騙,有些根本不會發送該信息。
有沒有100%保證有這種信息的方式,雖然這將是你最好的選擇。
我將一個變量添加到URL調用的GET陣列和檢查 - www.yoururl.com/pageC?callingPage=a 類似的東西。 referrer變量不是絕對可靠的:/ 另外,由於您需要知道您來自哪個頁面,因此您是不是也要使用該頁面的數據進行操作?如果是這樣的話,你可以傳遞標識變量和發送的數據。如果沒有,那麼你仍然可以使用我剛剛提到的方法。
這不一定總是會起作用...不幸的是,沒有100%的方式來獲得這些信息。 –
@JustinWood我沒有看到如何在獲取字符串中傳遞變量絕對不會100%的時間工作?他沒有給我們設計限制,這是一個完全有效的方式來做到這一點,就我而言,它確實是可靠的方式來做到這一點。請讓我知道,如果你有一個案件,這將無法正常工作(無關的服務器配置) – dudewad
同樣的原因,你不能依靠'$ _SERVER'。據我所知,所有現代瀏覽器都會發送這些信息。如果你依賴於一個get/post字符串,那麼這些信息仍然可以在其間被截取或刪除或修改(這很容易實現)。我並不是說你的方法不好,我只是說它一直都不是100%正確的。 –
簡單地說,內C.php:
<?php
if ($_SERVER['HTTP_REFERER'] == 'http://www.somesite.com/A.php'){
// Do it
} else {
// Do not
}
爲了提高可靠性,它可以使用通過其它數據(和更何況,如果你使用的形式)(如會話變量)。如果它只是一個沒有別的東西的直接鏈接,那就更難了。
- 1. PHP - 我如何知道它當前的頁面名稱?
- 2. 如何知道在登錄JSF 2頁面之前請求了哪個頁面
- 3. 如何知道我在哪個php頁面?
- 4. 如何知道php腳本是HTTPS請求而不是HTTP?
- 5. 我如何知道在PHP中加載腳本的頁面的URL?
- 6. Detectng php中當前頁面的哪個頁面已被轉發?
- 7. 是否有可能知道在http請求期間執行哪些php腳本?
- 8. 如何調試AJAX請求?如何知道哪個PHP函數被調用?
- 9. 我如何檢測當前鏈接的頁面通過PHP或Java腳本
- 10. 讓jquery知道哪個是最後訪問過的php頁面?
- 11. 如何知道哪個請求來自哪個會話python
- 12. Deferred object(with backboneJS)我如何知道哪個請求失敗?
- 13. 我如何知道哪個ajax請求即將執行?
- 14. PHP的HTTPS請求一個頁面
- 15. Ajax請求到php頁面
- 16. 我如何知道這個頁面打哪個控制器?
- 17. 我如何知道哪個下拉菜單有當前焦點
- 18. 當PHP調用Apache時,PHP-CLI腳本不知道$ _SERVER?
- 19. 如何知道當前請求超過ASP.Net中的maxRequestLength?
- 20. 運行php腳本而不改變當前頁面的按鈕
- 21. 通過AJAX請求PHP腳本。 Ajax請求返回實際的PHP腳本
- 22. 多個PHP請求崩潰頁面
- 23. 獲取當前頁面(PHP)
- 24. 不知道如何處理一個純粹的PHP頁面
- 25. 當請求另一個頁面時通知頁面
- 26. 如何知道當前請求是否使用ssl?
- 27. 如何知道腳本停在哪裏?
- 28. 當從ajax請求調用php php腳本可以更新我的sql嗎?
- 29. 執行PHP腳本,而不會離開當前頁面
- 30. 從Javascript中調用PHP腳本而不離開當前頁面
它如何將請求發送到頁面C?標題重定向?包括? HTML鏈接? META刷新標籤? – mellamokb
查看Refferer – Vultour
不推薦只給你域名嗎?你可以傳遞一個標識符變量..! – dudewad