| 由于博主今夜失眠,便默默打开电脑,开启深夜爆肝模式,极度伤身,看官老爷们请勿模仿哦。继续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>
<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 的代码则可以是:
 
<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 字符会被替换为 < ; 和 > ; 。这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码(跨站点脚本攻击)对代码进行利用。
 如果用第一个语句,黑客可以利用URL加密算法在URL里面输入一段而已js代码。
 我们该怎样进行表单验证1.通过htmlspecialchars()函数,对post来的每一个值进行检查,2.通过 PHP trim() 函数,去除用户输入数据中不必要的字符(多余的空格、制表符、换行)
 3.通过 PHP stripslashes() 函数,删除用户输入数据中的反斜杠(\)
 突然就困了呢,博主去睡觉了,今天就肝到这里了,zzz~ |