PHP基础-表单和请求

admin 2025年7月2日10:33:27评论11 views字数 1912阅读6分22秒阅读模式

什么是表单?

表单(Form) 是网页中用于收集用户输入数据的区域。常见的表单控件包括:

  • 输入框(文本、密码)

  • 单选按钮(Radio)

  • 多选框(Checkbox)

  • 下拉框(Select)

  • 提交按钮(Submit)

简单例子
<formaction="process.php"method="POST">    用户名:<inputtype="text"name="username"><br>    密码:<inputtype="password"name="password"><br><inputtype="submit"value="提交"></form>

action:提交表单数据的地址

method:请求方式,通常是 GET 或 POST

PHP基础-表单和请求

什么是请求(Request)?

表单提交后,浏览器会向服务器发起一个 HTTP 请求

常见请求方式:
请求方式 说明
GET 一般用于查询,参数会拼接在 URL 后面,数据不安全
POST 一般用于提交,参数放在请求体内,数据更安全,适合表单提交
GET 和 POST 的区别
比较项 GET POST
参数位置 URL 请求体
安全性 低,参数明文显示 高,参数不显示
数据大小限制 有限制(浏览器和服务器限制 URL 长度) 理论上无限制(但服务器可能有限制)
适用场景 查询数据、跳转链接 提交数据、登录表单、上传文件
PHP 获取表单数据的方法
请求方式 PHP 超全局变量 说明
GET $_GET['参数名'] 获取地址栏参数
POST $_POST['参数名'] 获取表单提交数据
任意 $_REQUEST['参数名'] 自动获取 GET/POST 数据
示例:
// GET 请求echo$_GET['username'];// POST 请求echo$_POST['username'];
表单数据的请求流程图
用户输入数据 -> 点击提交 -> 发送 HTTP 请求(GET/POST) -> PHP 接收请求 -> 处理并返回结果

以之前的表单为例:

<!DOCTYPE html><html><body><h2>登录表单</h2><formaction="process.php"method="POST">    用户名:<inputtype="text"name="username"><br><br>    密 码:<inputtype="password"name="password"><br><br><inputtype="submit"value="提交"></form></body></html>

action="process.php":点击提交按钮,表单数据会被提交到 process.php

method="POST":使用 POST 请求。

PHP基础-表单和请求
PHP 处理文件
<?php// 接收表单数据$username=$_POST['username'];$password=$_POST['password'];// 输出数据echo"您提交的用户名是:" . $username . "<br>";echo"您提交的密码是:" . $password;?>
PHP基础-表单和请求

$_POST['username']:接收表单输入框 name 为 username 的数据。

$_POST['password']:接收表单输入框 name 为 password 的数据。

填写表单提交后,自动跳转至process.php进行数据处理。
PHP基础-表单和请求

htmlspecialchars()函数

htmlspecialchars() 是 PHP 的一个内置函数,用来将特殊的 HTML 字符转义成 HTML 实体,防止页面解析为标签,防止 XSS 攻击。

  • & (和号) 成为 &amp;

  • " (双引号) 成为 &quot;

  • ' (单引号) 成为 &#039;

  • < (小于) 成为 &lt;

  • > (大于) 成为 &gt;

通俗解释:

<script>alert('XSS攻击');</script>
PHP基础-表单和请求
页面会真的执行弹窗!
PHP基础-表单和请求

但是如果你这样输出:

<?php// 接收表单数据$username=htmlspecialchars($_GET['username']);$password=htmlspecialchars($_GET['password']);// 输出数据echo"您提交的用户名是:" . $username . "<br>";echo"您提交的密码是:" . $password;?>

页面会显示:

<script>alert('XSS攻击');</script>

不会被浏览器执行,页面会原样展示,达到防御 XSS 的目的。

PHP基础-表单和请求
输出结果:
PHP基础-表单和请求

0x0 每日资源分享【PHP项目实战教程

夸克网盘「PHP项目实战教程」链接:https://pan.quark.cn/s/4a16c67edbd2

原文始发于微信公众号(风铃情报站):PHP基础-表单和请求

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年7月2日10:33:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PHP基础-表单和请求http://cn-sec.com/archives/4215550.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息