劣质的PHP代码简化_PHP教程
程序员文章站
2022-05-29 11:22:35
...
复制代码 代码如下:
echo("
search results for query:").
$_GET['query'].".
?>
这段代码的主要问题在于它把用户提交的数据直接显示到了网页上,从而产生XSS漏洞。其实有很多方法可以填补这个漏洞。那么,什么代码是我们想要的呢?
复制代码 代码如下:
echo("
search results for query:").
htmlspecialchars($_GET['query']).".
?>
这是最低要求。XSS漏洞用htmlspecialchars函数填补了,从而屏蔽了非法字符。
复制代码 代码如下:
if(isset($_GET['query']))
echo'
search results for query:',
htmlspecialchars($_GET['query'],ENT_QUOTES).'.
?>
能写出这样代码的人应该是我想要录用的人了:
**在输出$_GET['query']值前先判断它是否为空。
*echo命令中多余的括号被去掉了。
*字符串用单引号限定,从而节省了PHP从字符串中搜索可替换的变量的时间。
*用逗号代替句号,节省了echo的时间。
*将ENT_QUOTES标识传递给htmlspecialchars函数,从而保证单引号也会被转义,虽然这并不是最主要的,但也算是一个良好的习惯
上一篇: php笔试(二)
推荐阅读
-
如何写出漂亮的PHP代码
-
适合入门的php基础系列教程
-
PHP函数crypt()的功能介绍_PHP教程
-
PHP中使用crypt()实现用户身份验证的代码_PHP教程
-
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)_PHP教程
-
PHP中引入文件的方法有哪些?PHP引入文件的四种方法介绍(代码)
-
初来乍到,PHP setcookie怎么能正确使用?我写的代码只能设置两个中的一个,怎么办?
-
PHP中抽象类和接口的使用方法(代码)
-
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )_PHP教程
-
解析PHP中的crypt()函数(附代码实例)