首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 獲取與驗證表單提交來源(HTTP_REFERER)完整指南

     編輯:PHP 相關知識

PHP 獲取與驗證表單提交來源(HTTP_REFERER)完整指南

在 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 可被用戶端偽造或瀏覽器設定隱藏,不可作為唯一安全依據。
  • 建議搭配 CSRF Token、SameSite Cookie、驗證碼 等機制共同防護。
  • 若僅需簡易過濾,可結合 parse_url() 解析 host 後再比對。

進階寫法:解析 Host 比對

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved