国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP 表單驗證_0

2020-03-22 18:17:55
字體:
來源:轉載
供稿:網友

這些頁面將展示如何安全地處理 PHP 表單。對 HTML 表單數據進行適當的驗證對于防范黑客和垃圾郵件很重要!

我們稍后使用的 HTML 表單包含多種輸入字段:必需和可選的文本字段、單選按鈕以及提交按鈕:


name、email 和 website 屬于文本輸入元素,comment 字段是文本框。HTML 代碼是這樣的:

Name: input type= text name= name E-mail: input type= text name= email Website: input type= text name= website Comment: textarea name= comment rows= 5 cols= 40 /textarea 

input type= radio name= gender html' target='_blank'>value= female Female input type= radio name= gender value= male Male

因此,$_SERVER[ PHP_SELF ] 將表單數據發送到頁面本身,而不是跳轉到另一張頁面。這樣,用戶就能夠在表單頁面獲得錯誤提示信息。

什么是 htmlspecialchars() 函數

htmlspecialchars() 函數把特殊字符轉換為 HTML 實體。這意味著 和 之類的 HTML 字符會被替換為 和 。這樣可防止攻擊者通過在表單中注入 HTML 或 JavaScript 代碼(跨站點腳本攻擊)對代碼進行利用。


提示:跨站點腳本(Cross-site scripting,XSS)是一種計算機安全漏洞類型,常見于 Web 應用程序。XSS 能夠使攻擊者向其他用戶瀏覽的網頁中輸入客戶端腳本。

假設我們的一張名為 test_form.php 的頁面中有如下表單:

 form method= post action= ?php echo $_SERVER[ PHP_SELF ? 

現在,如果用戶進入的是地址欄中正常的 URL: http://www.example.com/test_form.php ,上面的代碼會轉換為:

 form method= post action= test_form.php 

到目前,一切正常。

不過,如果用戶在地址欄中鍵入了如下 URL:

http://www.example.com/test_form.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E

在這種情況下,上面的代碼會轉換為:

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

這段代碼加入了一段腳本和一個提示命令。并且當此頁面加載后,就會執行 JavaScript 代碼(用戶會看到一個提示框)。這僅僅是一個關于 PHP_SELF 變量如何被利用的簡單無害案例。

您應該意識到 script 標簽內能夠添加任何 JavaScript 代碼!黑客能夠把用戶重定向到另一臺服務器上的某個文件,該文件中的惡意代碼能夠更改全局變量或將表單提交到其他地址以保存用戶數據,等等。


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

 form method= post action= test_form.php/ quot; script alert('hacked') /script 

無法利用,沒有危害!


(通過 PHP trim() 函數)去除用戶輸入數據中不必要的字符(多余的空格、制表符、換行)(通過 PHP stripslashes() 函數)刪除用戶輸入數據中的反斜杠(/)

運行實例

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

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

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

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 增城市| 河池市| 松江区| 孟村| 吐鲁番市| 襄樊市| 鄯善县| 峨眉山市| 翁源县| 曲沃县| 赤峰市| 中卫市| 奇台县| 格尔木市| 闽侯县| 海阳市| 龙州县| 开化县| 五原县| 手游| 舟曲县| 祁阳县| 泽州县| 雅安市| 呼伦贝尔市| 新泰市| 漳州市| 祁连县| 喜德县| 沙洋县| 惠州市| 隆子县| 吉木萨尔县| 普陀区| 枣强县| 台江县| 定远县| 普兰县| 安平县| 峨边| 垣曲县|