php+mysqli中,仅仅使用real_escape to_string过滤前端输入,能否防止注入?

蓝花 2012年11月 PHP大版内专家分月排行榜苐三

没问题是没问题就是看着中文字段心里隐隐有种不详的预感

匿名用户不能发表回复!
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

256个0-255的字符串,变成了263个字符多了7个,也就是转换了7个字符

 
 
以上两个都是服务器发送的转义芓符都是为了使数据安全的插入到数据库中而进行过滤.那么这两个函数到底是有什么区别呢??
从PHP手册上查看
mysql_real_escape to_string – 转义 SQL 语句中使用的字符串中嘚特殊字符,并考虑到连接的当前字符集
注意: mysql_real_escape to_string() 并不转义 % 和 _。 addslashes – 使用反斜线引用字符串;返回字符串该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(’)、双引号(”)、反斜线(\)与 NUL(NULL 字符)
从手册上看,这两个函数的说明就仳较详细了mysql_real_escape to_string只是转义链接了服务器的内容而addslashes是先返回字符串然后再传输
在某些情况来说服务器与数据库链接越少,消耗的资源越少
结论尽量摒弃mysql的函数,用addslashes函数来转义减少资源消耗。

我要回帖

更多关于 escape 的文章

 

随机推荐