在 Web 開發中,確認請求來源是防範 CSRF(跨站請求偽造)與惡意提交的基礎手段之一。PHP 透過 $_SERVER['HTTP_REFERER'] 即可取得上一頁的 URL,但這個值並非絕對可靠,需搭配其他驗證機制使用。
輸出範例:https://www.example.com/previous-page.html
以下示範如何判斷請求是否來自自家網域:
說明: strpos() 回傳字串首次出現的位置(從 0 起算),若找不到則回傳 false。務必使用 !== false 嚴格比較,避免位置 0 被誤判為假值。
| 函數 | 說明 | 大小寫敏感度 |
|---|---|---|
strpos() | 尋找字串首次出現位置 | 敏感 |
stripos() | 尋找字串首次出現位置 | 不敏感 |
strrpos() | 尋找字串最後一次出現位置 | 敏感 |
strripos() | 尋找字串最後一次出現位置 | 不敏感 |
HTTP_REFERER 可被用戶端偽造或瀏覽器設定隱藏,不可作為唯一安全依據。parse_url() 解析 host 後再比對。