之類的 HTML 字符會被替換為 < 和 > 。這樣可防止攻擊者通過在表單中注入 HTML 或 JavaScript 代碼(跨站點腳本攻擊)對代碼進行利用">

通過使用 htmlspecialchars() 函數能夠避免 $_SERVER[“PHP_SELF”] 被利用。

表單代碼是這樣的:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

htmlspecialchars() 函數把特殊字符轉換為 HTML 實體。現在,如果用戶試圖利用 PHP_SELF 變量,會導致如下輸出:

<form method="post" action="test_form.php/"><script>alert('hacked')</script>">

無法利用,沒有危害!

通過 PHP 驗證表單數據

我們要做的第一件事是通過 PHP 的 htmlspecialchars() 函數傳遞所有變量。

在我們使用 htmlspecialchars() 函數后,如果用戶試圖在文本字段中提交以下內容:

<script>location.href('http://www.hacked.com')</script>

– 代碼不會執行,因為會被保存為轉義代碼,就像這樣:

現在這條代碼顯示在頁面上或 e-mail 中是安全的。

在用戶提交該表單時,我們還要做兩件事:

  1. (通過 PHP trim() 函數)去除用戶輸入數據中不必要的字符(多余的空格、制表符、換行)
  2. (通過 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;
}
?>

請注意在腳本開頭,我們檢查表單是否使用 $_SERVER[“REQUEST_METHOD”] 進行提交。如果 REQUEST_METHOD 是 POST,那么表單已被提交 – 并且應該對其進行驗證。如果未提交,則跳過驗證并顯示一個空白表單。

不過,在上面的例子中,所有輸入字段都是可選的。即使用戶未輸入任何數據,腳本也能正常工作。

下一步是制作必填輸入字段,并創建需要時使用的錯誤消息。

贊(0)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » PHP表單驗證功能

登錄

找回密碼

注冊

主站蜘蛛池模板: 中文字幕亚洲在线| 手机在线观看不卡av| 国产综合av一区二区三区| Xvideos精品国产| 免费看欧美一级特黄a大片| 亚洲色成人网站www永久| 暖暖影院日本高清...免费| 亚洲国产福利成人一区二区| 国产本道久久一区二区三区| 亚洲国产精品综合久久20| 日本熟妇XXXX潮喷视频| 国产AV影片麻豆精品传媒| 国产精品亲子乱子伦XXXX裸| 亚洲乱码精品中文字幕| 亚洲a级| 中文字幕亚洲亚洲精品| 97久久超碰福利国产精品…| 亚洲精品熟女一区二区| Jizz日本18| 成人小说一区二区中文在线| 亚洲一区二区在线无码| 精品国产一区二区三区麻豆| 国产精品美女| 456中文字幕| 日本高清成本人视频一区 | 黄频短视频免费| 欧美性爱在线观看视频| 精品无人区一码二码三码| 亚洲无码在线播放| 人妻丝袜无?码视频专区| 日本高清色WWW网站色噜噜噜| 午夜免费无码福利视频麻豆| 夜夜欢视频| 成人亚洲天堂| 一级爱一级做a性视频| 国语精品自产拍在线观看网站| 亚洲18禁| 亚洲精品成人a?v| 337P日本欧洲亚洲大胆人人 | 中文字幕日产av| 女同精品女同系列在线观看|