哎呀呀, 去年就开始学了PHP, 到现在啥也没学会, 真该死, 怨恨自己一下下!
应该归咎自己太满足于现状, 太不懂得上进! 太没有危机感! 总怪别人而不反省!
总找理由给自己"放松", 该死...
Submitted by zwws on 2007, December 23, 2:10 PM
哎呀呀, 去年就开始学了PHP, 到现在啥也没学会, 真该死, 怨恨自己一下下!
应该归咎自己太满足于现状, 太不懂得上进! 太没有危机感! 总怪别人而不反省!
总找理由给自己"放松", 该死...
Submitted by zwws on 2007, December 12, 6:38 PM
在php.ini的配置文件中,有个布尔值的设置,就是magic_quotes_runtime,当它打开时,php的大部分函数自动的给从外部引入的(包括数据库或者文件)数据中的溢出字符加上反斜线。
当然如果重复给溢出字符加反斜线,那么字符串中就会有多个反斜线,所以这时就要用set_magic_quotes_runtime()与get_magic_quotes_runtime()设置和检测php.ini文件中magic_quotes_runtime状态。
为了使自己的程序不管服务器是什么设置都能正常执行。可以在程序开始用get_magic_quotes_runtime检测设置状态秋决定是否要手工处理,或者在开始(或不需要自动转义的时候)用set_magic_quotes_runtime(0)关掉。
magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的'"\加上反斜线。可以用get_magic_quotes_gpc()检测系统设置。如果没有打开这项设置,可以使用addslashes()函数添加,它的功能就是给数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。