php addslashes和mysql_real_escape_string


Posted in PHP onJanuary 24, 2010

很好的说明了addslashes和mysql_real_escape_string的区别,虽然国内很多PHP coder仍在依靠addslashes防止SQL注入(包括我在内),我还是建议大家加强中文防止SQL注入的检查。addslashes的问题在于黑客可以用0xbf27来代替单引号,而addslashes只是将0xbf27修改为0xbf5c27,成为一个有效的多字节字符,其中的0xbf5c仍会被看作是单引号,所以addslashes无法成功拦截。
当然addslashes也不是毫无用处,它是用于单字节字符串的处理,多字节字符还是用mysql_real_escape_string吧。
另外对于php手册中get_magic_quotes_gpc的举例:

if (!get_magic_quotes_gpc()) { 
$lastname = addslashes($_POST[‘lastname']); 
} else { 
$lastname = $_POST[‘lastname']; 
}

最好对magic_quotes_gpc已经开放的情况下,还是对$_POST['lastname']进行检查一下。
再说下mysql_real_escape_string和mysql_escape_string这2个函数的区别:
mysql_real_escape_string 必须在(PHP 4 >= 4.3.0, PHP 5)的情况下才能使用。否则只能用 mysql_escape_string ,两者的区别是:

mysql_real_escape_string 考虑到连接的当前字符集,而mysql_escape_string 不考虑。

总结一下:

addslashes() 是强行加;
mysql_real_escape_string() 会判断字符集,但是对PHP版本有要求;
mysql_escape_string不考虑连接的当前字符集。

PHP 相关文章推荐
《APMServ 5.1.2》使用图解
Oct 23 PHP
用缓存实现静态页面的测试
Dec 06 PHP
mysql+php分页类(已测)
Mar 31 PHP
php mssql 时间格式问题
Jan 13 PHP
浅析echo(),print(),print_r(),return之间的区别
Nov 27 PHP
PHP static局部静态变量和全局静态变量总结
Mar 02 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
PHP中使用Imagick实现各种图片效果实例
Jan 21 PHP
php如何连接sql server
Oct 16 PHP
微信自定义菜单的创建/查询/取消php示例代码
Aug 05 PHP
PHP钩子与简单分发方式实例分析
Sep 04 PHP
使用laravel和ECharts实现折线图效果的例子
Oct 09 PHP
PHPMailer 中文使用说明小结
Jan 22 #PHP
关于php fread()使用技巧
Jan 22 #PHP
PHP 时间转换Unix时间戳代码
Jan 22 #PHP
PHP 实用代码收集
Jan 22 #PHP
在命令行下运行PHP脚本[带参数]的方法
Jan 22 #PHP
php获取url字符串截取路径的文件名和扩展名的函数
Jan 22 #PHP
PHP has encountered an Access Violation 错误的解决方法
Jan 17 #PHP
You might like
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
php select,radio和checkbox默认选择的实现方法
2010/05/15 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
php实现指定字符串中查找子字符串的方法
2015/03/17 PHP
php简单中奖算法(实例)
2017/08/15 PHP
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
js给dropdownlist添加选项的小例子
2013/03/04 Javascript
jQuery实现异步获取json数据的2种方式
2014/08/29 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
2015/03/01 Javascript
深入讲解AngularJS中的自定义指令的使用
2015/06/18 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
json字符串传到前台input的方法
2018/08/06 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
使用imba.io框架得到比 vue 快50倍的性能基准
2019/06/17 Javascript
axios如何取消重复无用的请求详解
2019/12/15 Javascript
详解Python迭代和迭代器
2016/03/28 Python
python MySQLdb使用教程详解
2018/03/20 Python
浅谈Python里面小数点精度的控制
2018/07/16 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
基于python使用tibco ems代码实例
2019/12/20 Python
Marks & Spencer爱尔兰:英国马莎百货
2016/04/20 全球购物
伦敦所有西区剧院演出官方票务代理:Theatre Tickets Direct
2017/05/26 全球购物
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
法律专业个人实习自我鉴定
2013/09/23 职场文书
团队经理竞聘书
2014/03/31 职场文书
大学毕业生求职自荐书
2014/06/05 职场文书
民族学专业大学生职业规划范文:清晰未来的构想
2014/09/20 职场文书
六一儿童节标语
2014/10/08 职场文书
考试作弊万能检讨书
2014/10/19 职场文书
保研专家推荐信范文
2015/03/25 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
篮球拉拉队口号
2015/12/25 职场文书
python中的None与NULL用法说明
2021/05/25 Python
anaconda python3.8安装后降级
2021/06/11 Python
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript