magic

PHP中magic quotes说明

北战南征 提交于 2019-12-01 22:28:42
特地查看了下手册,关于php magic quotes,常见的几个设置如下,magic_quotes_gpc,magic_quotes_sybase,magic_quote_runtime,这几个函数是在php.ini中去配置的,从手册中可以看出从php5.3后已经废除了这些函数,所以强烈大家不要使用,在php.ini中关闭它。 这些函数的作用是对数据进行转义。 防止sql注入的 时候,很多人会这样写: if (! get_magic_quotes_gpc ()) { $post = addslashes ( $post ); } 如果开启了它们,会自动给你转义单引号( ' )、双引号( " )、反斜线( \ )与 NUL( null字符 ),其实就相当于调用addslashes函数。你可能会说这样不是很好嘛,安全性更高了,但是,你考虑代码移植性了吗?另外,对于上所有gpc($_GET,$_POST,$_COOKIE)的数据你都进行转义是否有必要?开销有多大?下面PHP点点通(phpddt.com)就对手册中关于Magic Quotes的详细说明: 1.magic_quotes_gpc magic_quotes_gpc这个是用来设置GPC($_GET、$_POST、$_COOKIE)的魔术引用状态(在PHP4中也包含$_ENV)。当开启时,所有的单引号(single-quote)