- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PHP 学习笔记(二):表单:表单处理,表单验证,表单实例
PHP 学习笔记(二):表单:表单处理,表单验证,表单实例
PHP 表单
PHP 超全局变量 $_GET 和 $_POST 用于收集表单数据(form-data)。
1
GET vs. POST
GET 和 POST 都创建数组(例如,array( key = value, key2 = value2, key3 = value3, …))。此数组包含键/值对,其中的键是表单控件的名称,而值是来自用户的输入数据。
GET 和 POST 被视作 GET和_POST。它们是超全局变量,这意味着对它们的访问无需考虑作用域 - 无需任何特殊代码,您能够从任何函数、类或文件访问它们。
$_GET 是通过 URL 参数传递到当前脚本的变量数组。
$_POST 是通过 HTTP POST 传递到当前脚本的变量数组。
何时使用 GET?
通过 GET 方法从表单发送的信息对任何人都是可见的(所有变量名和值都显示在 URL 中)。
GET 对所发送信息的数量也有限制。限制在大于 2000 个字符。不过,由于变量显示在 URL 中,把页面添加到书签中也更为方便。
GET 可用于发送非敏感的数据。
何时使用 POST?
通过 POST 方法从表单发送的信息对其他人是不可见的(所有名称/值会被嵌入 HTTP 请求的主体中),并且对所发送信息的数量也无限制。
此外 POST 支持高阶功能,比如在向服务器上传文件时进行 multi-part 二进制输入。
不过,由于变量未显示在 URL 中,也就无法将页面添加到书签。
PHP 表单验证
PHP 表单验证实例
文本字段
ame、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
单选按钮
gender 字段是单选按钮,HTML 代码是这样的:
Gender:
input type=radio name=gender value=femaleFemale
input type=radio name=gender value=maleMale
表单元素
表单的 HTML 代码是这样的:
form method=post action=?php echo htmlspecialchars($_SERVER[PHP_SELF]);?
当提交此表单时,通过 method=”post” 发送表单数据。
什么是 $_SERVER[“PHP_SELF”] 变量?
$_SERVER[PHP_SELF] 是一种超全局变量,它返回当前执行脚本的文件名。
因此,$_SERVER[PHP_SELF] 将表单数据发送到页面本身,而不是跳转到另一张页面。这样,用户就能够在表单页面获得错误提示信息。
什么是 htmlspecialchars() 函数?
htmlspecialchars() 函数把特殊字符转换为 HTML 实体。这意味着 和 之类的 HTML 字符会被替换为 lt; 和 gt; 。这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码(跨站点脚本攻击)对代码进行利用。
关于 PHP 表单安全性的重要提示
$_SERVER[“PHP_SELF”] 变量能够被黑客利用!
如果您的页面使用了 PHP_SELF,用户能够输入下划线然后执行跨站点脚本(XSS)。
提示:跨站点脚本(Cross-site scripting,XSS)是一种计算机安全漏洞类型,常见于 Web 应用程序。XSS 能够使攻击者向其他用户浏览的网页中输入客户端脚本。
假设我们的一张名为 “test_form.php” 的页面中有如下表单:
form method=post action=?php echo $_SERVER[PHP_SELF];?
1
现在,如果用户进入的是地址栏中正常的 URL:
“/test_form.php“,上面的代码会转换为:
form method=post action=test_form.php
1
到目前,一切正常。
不过,如果用户在地址栏中键入了如下 URL:
/test_form.php/%22%3E%3Cscript%3Ealert(hacked)%3C/script%3E
1
在这
您可能关注的文档
最近下载
- 雨课堂2024秋-科研伦理与学术规范期末考试答案.docx VIP
- 西南科技大学《微观经济学》内部题库练习期末真题汇编及答案.docx
- 十年(2016-2025)高考语文真题分类汇编(全国通用)-专题14 标点符号(全国通用)(解析版+原卷版).docx VIP
- 房地产估价报告最新版本.doc VIP
- 单桩竖向抗压静载试验.ppt VIP
- 矿井通风课程设计.pdf VIP
- 2025年华医网继续教育炎症性皮肤病的诊疗策略及前沿进展题库答案.pdf VIP
- 河南省郑州市河南省实验中学2024—2025学年七年级上学期期末考试数学试卷(含图片答案).docx VIP
- 通桥(2021)4201-Ⅱ时速250公里高速铁路圆端形实体桥墩.pdf
- 高中生交通安全主题班会课件.ppt VIP
原创力文档


文档评论(0)