之類的 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 中是安全的。
在用戶提交該表單時,我們還要做兩件事:
- (通過 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;
}
?>
請注意在腳本開頭,我們檢查表單是否使用 $_SERVER[“REQUEST_METHOD”] 進行提交。如果 REQUEST_METHOD 是 POST,那么表單已被提交 – 并且應該對其進行驗證。如果未提交,則跳過驗證并顯示一個空白表單。
不過,在上面的例子中,所有輸入字段都是可選的。即使用戶未輸入任何數據,腳本也能正常工作。
下一步是制作必填輸入字段,并創建需要時使用的錯誤消息。
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱: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|
女同精品女同系列在线观看|