用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3129|回复: 1
收起左侧

一点需要注意的地方

[复制链接]
发表于 2008-12-31 16:54:50 | 显示全部楼层 |阅读模式
在普通的PHP中,关于POST,自动转义get_magic_quotes_gpc()函数,手册是这样描述的
<?php
echo get_magic_quotes_gpc();         // 1
echo $_POST['lastname'];             // O\'reilly
echo addslashes($_POST['lastname']); // O\\\'reilly

if (!get_magic_quotes_gpc()) {
   
$lastname = addslashes($_POST['lastname']);
} else {
   
$lastname = $_POST['lastname'];
}

echo
$lastname; // O\'reilly
$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
?>

当然和你的php.ini中配置有关,具体如下:
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On

而在使用CI时,如果设置上边参数为ON的话,CI反而会将已转义的再进行一次反向操作
具体如下代码:
在CI的system/libraries/input.php页面中,
在第173行中,使用stripslashes()函数将转义全部去掉了,就是去掉了'\'符号

这样的话,就和我们平时用的正好相反了

假如我们在php.ini中设置magic_quotes_gpc为ON,在使用CI的时候,缺没有转义
就写到这,好久没发帖了,只是给新人一点点提示,注意一下就可以了


好久没发帖了,呵呵

[ 本帖最后由 gwpxjb 于 2008-12-31 16:57 编辑 ]
发表于 2008-12-31 17:53:54 | 显示全部楼层
你的nick和名字差太远了,应该说是根本没认出来。。

本版积分规则