劣质的PHP代码简化


Posted in PHP onFebruary 08, 2010
<? 
echo("<p>search results for query:"). 
$_GET['query'].".</p>"; 
?>

这段代码的主要问题在于它把用户提交的数据直接显示到了网页上,从而产生XSS漏洞。其实有很多方法可以填补这个漏洞。那么,什么代码是我们想要的呢?
<? 
echo("<p>search results for query:"). 
htmlspecialchars($_GET['query']).".</p>"; 
?>

这是最低要求。XSS漏洞用htmlspecialchars函数填补了,从而屏蔽了非法字符。

<?php 
if(isset($_GET['query'])) 
echo'<p>search results for query:', 
htmlspecialchars($_GET['query'],ENT_QUOTES).'.</p>'; 
?>

能写出这样代码的人应该是我想要录用的人了:
*<?被替换成了<?php,这样更符合XML规范。
*在输出$_GET['query']值前先判断它是否为空。
*echo命令中多余的括号被去掉了。
*字符串用单引号限定,从而节省了PHP从字符串中搜索可替换的变量的时间。
*用逗号代替句号,节省了echo的时间。
*将ENT_QUOTES标识传递给htmlspecialchars函数,从而保证单引号也会被转义,虽然这并不是最主要的,但也算是一个良好的习惯
PHP 相关文章推荐
常用表单验证类,有了这个,一般的验证就都齐了。
Dec 06 PHP
php discuz 主题表和回帖表的设计
Mar 13 PHP
Discuz!下Memcache缓存实现方法
May 28 PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 PHP
php中数据库连接方式pdo和mysqli对比分析
Feb 25 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
Nov 23 PHP
php实现smarty模板无限极分类的方法
Dec 07 PHP
php实现word转html的方法
Jan 22 PHP
基于PHP生成简单的验证码
Jun 01 PHP
laravel5创建service provider和facade的方法详解
Jul 26 PHP
php 后端实现JWT认证方法示例
Sep 04 PHP
Yii 框架入口脚本示例分析
May 19 PHP
php下把数组保存为文件格式的实例应用
Feb 08 #PHP
php date与gmdate的获取日期的区别
Feb 08 #PHP
php 获取当前访问的url文件名的方法小结
Feb 08 #PHP
用php实现的下载css文件中的图片的代码
Feb 08 #PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 #PHP
Linux下将excel数据导入到mssql数据库中的方法
Feb 08 #PHP
PHPWind 发帖回帖Api PHP版打包下载
Feb 08 #PHP
You might like
php mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
$.getJSON在IE下失效的原因分析及解决方法
2013/06/16 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
详解Nodejs的timers模块
2016/12/22 NodeJs
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
vue webpack实用技巧总结
2018/04/24 Javascript
node 使用 async 控制并发的方法
2018/05/07 Javascript
jQuery中的类名选择器(.class)用法简单示例
2018/05/14 jQuery
微信小程序实现单选功能
2018/10/30 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
微信小程序 调用微信授权窗口相关问题解决
2019/07/25 Javascript
微信小程序实现一个简单swiper代码实例
2019/12/30 Javascript
windows下安装python paramiko模块的代码
2013/02/10 Python
python中模块的__all__属性详解
2017/10/26 Python
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
python代码编写计算器小程序
2020/03/30 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
总监职责范文
2013/11/09 职场文书
蛋糕店的商业计划书范文
2014/01/27 职场文书
秋季运动会稿件
2014/01/30 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
岗位职责说明书模板
2014/07/30 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
行政上诉状范文
2015/05/23 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
导游词之沈阳植物园
2019/11/30 职场文书