PHP关于mysql_real_escape_string的很奇怪的bug
来源:互联网 发布:web中js兼容性问题 编辑:程序博客网 时间:2024/06/05 02:16
长话短说,mysql_query串的安全问题是众所周知的,对拼入sql串的数据字符串要做mysql_real_escape_string(或mysql_escape_string),这些没有问题,可是,但是,在大名鼎鼎的php上面,有这样一个‘bug’,有时候你发现你escape后的串,输入到了数据库,调了好久,一步步跟踪数据的变化,后来发现在$_POST[]中变量就已经被escape了,于是你再调mysql_real_escape_string,就会多作一次变换,而结果就是:数据串'xxx"' => 'xxx/"' => 'xxx///"',结果可想而知,于是我查了一下php.ini,关键字(escape),发现这样一个选项:
; - magic_quotes_gpc = Off [Performance]
; Input data is no longer escaped with slashes so that it can be sent into
; SQL databases without further manipulation. Instead, you should use the
; database vendor specific escape string function on each input element you
; wish to send to a database.
很蛋疼。
- PHP关于mysql_real_escape_string的很奇怪的bug
- 关于float奇怪的bug
- PHP mysql_real_escape_string的使用陷阱
- 关于excel导出功能的一个很奇怪的bug
- PHP函数addslashes和mysql_real_escape_string的区别
- 151 php SQL注入的例子 & mysql_real_escape_string
- 一个奇怪的bug
- 奇怪的BUG
- Eric奇怪的Bug
- 一个奇怪的bug
- scala奇怪的bug
- 关于PHP mysql_real_escape_string() 函数对数据库的保护作用 ,预防数据库被攻击的一种手段
- 记录我的bug,关于setVisibility()出现的奇怪问题
- hibernate关于数据库的表格建立的奇怪bug
- ARM-MDK4.12关于中断奇怪的BUG
- android奇怪的bug记录
- JAVA Script的奇怪bug
- spark一个奇怪的bug
- 一个显示时间的ClockPanel
- PHP输出Hello world!之另类实现
- datatable 遍历
- bootloader与linux中位置无关代码(PIC)的分析理解
- 门面模式(外观模式):Facade
- PHP关于mysql_real_escape_string的很奇怪的bug
- 前言
- 上传下载DEMO
- bootloader与linux中位置无关代码(PIC)的分析理解
- 多表(datatable)遍历重组,生成一个新表
- Oracle表连接与子查询示例
- Microsoft Windows Kernel整数截断本地权限提升漏洞:触发原因-汇编形态
- Ubuntu常用命令
- 从dataset(其中有可有多个不同的表)中生成一个新表的方法