通過 PHP 驗證表單資料
我們要做的第一件事是通過 PHP 的 htmlspecialchars() 函數傳遞所有變數。
在我們使用 htmlspecialchars() 函數後,如果使用者試圖在文字欄位中提交以下內容:
<script>location.href('http://www.hacked.com')</script>
- 代碼不會執行,因為會被儲存為轉義代碼,就像這樣:
<script>location.href('http://www.hacked.com')</script>
現在這條代碼顯示在頁面上或 e-mail 中是安全的。
在使用者提交該表單時,我們還要做兩件事:
(通過 PHP trim() 函數)去除使用者輸入資料中不必要的字元(多餘的空格、定位字元、換行)
(通過 PHP stripslashes() 函數)刪除使用者輸入資料中的反斜線(\)
接下來我們建立一個檢查函數(相比一遍遍地寫代碼,這樣效率更好)。
我們把函數命名為 test_input()。
現在,我們能夠通過 test_input() 函數檢查每個 $_POST 變數,指令碼是這樣的:
執行個體
<?php// 定義變數並設定為空白值$name = $email = $gender = $comment = $website = "";if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = test_input($_POST["name"]); $email = test_input($_POST["email"]); $website = test_input($_POST["website"]); $comment = test_input($_POST["comment"]); $gender = test_input($_POST["gender"]);}function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data;}?>