IT技术精粹[JiShuBu.Com]-倾力打造一流IT技术平台!
登录
注册
设为首页
加入收藏
网站首页
IT风向标
网站优化
Html
CSS
JavaScript
ASP
Php/Mysql
Flash
Ajax
源码下载
精美桌面
供求信息
超稳定100M虚拟主机只要100元,还送50M邮箱!
文字广告招商中...
会员注册
|
用户登录
|
我要投稿
信息订阅
addslashes和mysql_real_escape_string
您现在正在浏览:
首页
>
Php/Mysql
>
addslashes和mysql_real_escape_string
作者:PHP资讯 发布时间:2008-10-29 16:40:10 来源:
本文介绍的是用 mysql_real_escape_string对用户提交数据进行整理处理和通过addslashes以及mysql_escape_string这3个类似的功能函数的区别。经过转义的数据可以直接插入到数据库中。 本文介绍的是用 mysql_real_escape_string对用户提交数据进行整理处理和通过addslashes以及mysql_escape_string这3个类似的功能函数的区别。经过转义的数据可以直接插入到数据库中。
很好的说明了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与Javascript的两种交互方式
·
使用wordpress中的函数 (PHP)
·
js倒计时效果-精确到秒 (Javascript)
·
PHP无刷新删除数据
·
PHP文件系统处理类
·
PHP文件缓存数据类
·
PHPMailer邮件类利用smtp.163.com发送邮件方
·
PHP的POST方式
·
md5 结合 crypt =无敌密码
·
教你写一个属于自己的模板引擎
技术文档排行榜
·
天气预报小偷,根据IP自动判断地址
·
超经典计算机使用问题105答
·
CSS网页布局入门教程:下拉及多级弹出式菜单
·
'AjaxPro'未定义错误的原因&javascript顺
·
[初学者必读]网页制作之HTML基础知识
·
DIV&CSS打造自动伸展三栏复合布局
·
近1000本javascript电子图书下载列表
·
CSS 文字樣式技巧 (摘自一台湾网站,确实很
·
阿里妈妈广告的投放技巧
·
ajax+php无刷新二级联动下拉菜单(省市联动)