之類的 HTML 字符會被替換為 < 和 > 。這樣可防止攻擊者通過在表單中注入 HTML 或 JavaScript 代碼(跨站點腳本攻擊)對代碼進行利用">
通過使用 htmlspecialchars() 函數能夠避免 $_SERVER[“PHP_SELF”] 被利用。
表單代碼是這樣的:
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
htmlspecialchars() 函數把特殊字符轉換為 HTML 實體?,F在,如果用戶試圖利用 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网站|
日韩一区二区三区精品区|
午夜私人影院|
日韩一区二区三区无码影院|
黄色不卡在线|
99久久精品无码专区无|
麻豆亚洲精品一区二区|
国产???做受视频|
美女网站免费福利视频|
纯肉无遮挡H肉动漫在线观看国产|
尤物.com|
久久精品免视看国产成人|
嫩草亚洲小泬久久夂|
99视频精品在线|
久久香蕉久久香蕉久久|
日韩欧美在线综合网另类|
国产最大成人亚洲精品|
少妇裸交aa大片|
岛国精品在线免费观看|
色综合小说|
色www永久免费视频|
女人被狂c躁到高潮视频|
激情一区二区三区视频|
深夜av免费在线观看|
欧美黑人又粗又大又爽免费|
欧美香蕉爽爽人人爽|
久久成片|
国产又色又爽又黄的免费|
日日噜噜夜夜狠狠视频|
精品日本一区二区|
亚洲国产日韩a在线播放性色|
国产精品国产AV片国产|
天堂mv在线mv免费mv香蕉|
亚洲精品麻豆一区二区|
亚州精品人妻一二三区|
国产在线精品一区二区在线观看
|
国产免费网站看v片元遮挡|
性色欲网站人妻丰满中文久久不卡|
久久香蕉国产线看观看怡红院妓院|
97超碰人妻|