IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> PHP初步学习(三) -> 正文阅读

[PHP知识库]PHP初步学习(三)

由于博主今夜失眠,便默默打开电脑,开启深夜爆肝模式,极度伤身,看官老爷们请勿模仿哦。
继续PHP学习之旅!

PHP中的9个超全局变量

$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION

可以看到,除了$GLOBALS是刀加大写字母外,其他8个超全局变量都是刀加下划线加大写字母。这些超全局变量可以在整个代码域中运行,具体作用就不展开说了。
但是要特别注意 $_SERVER 这个函数,其中 $_SERVER[‘PHP_SELF’] 返回当前执行脚本的文件名,这有可能被xss攻击(注入html或js代码),我们之后再说,

PHP表单

PHP表单这是PHP中比较重要的一部分,这部分内容博主会详细解释,力争通俗易懂。

先来看一个简单的HTML表单

html表单
//html表单
<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

这个HTML表单代码的精髓就在于 action="welcome.php" 这一句,这句代码运行的效果是把这个HTML表单交给 welcome.php 处理。
welcome.php 的代码则可以是:

// welcome.php
<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

输出结果为:
Welcome Bill
Your email address is Bill.Gates@example.com

表单验证

用户输入表单,需要对用户的输入进行验证。先来看两个上传表单的语句比较:



<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

这里要说明两点,第一点是$_SERVER[“PHP_SELF”],这个超全局变量的含义是返回当前正在执行的脚本名,即表单被上传到的那个php文件,而且会把数据发送到本页面,如果输入不正确,会在本页面报错。
第二点就是htmlspecialchars() 函数会把特殊字符转换为 HTML 实体。这意味着 < 和 > 之类的 HTML 字符会被替换为 &lt ; 和 &gt ; 。这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码(跨站点脚本攻击)对代码进行利用。
如果用第一个语句,黑客可以利用URL加密算法在URL里面输入一段而已js代码。

我们该怎样进行表单验证

1.通过htmlspecialchars()函数,对post来的每一个值进行检查,
2.通过 PHP trim() 函数,去除用户输入数据中不必要的字符(多余的空格、制表符、换行)
3.通过 PHP stripslashes() 函数,删除用户输入数据中的反斜杠(\)

突然就困了呢,博主去睡觉了,今天就肝到这里了,zzz~

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-07-16 10:58:33  更:2021-07-16 11:03:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/27 21:11:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码