[转]关于addslashes的几点知识

关于 addslashes 的几点知识

string addslashes ( string str )

返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号( ' )、双引号( " )、反斜线( / )与 NUL NULL 字符)

一个使用 addslashes() 的例子是当你要往数据库中输入数据时。例如,将名字 O'reilly 插入到数据库中,这就需要对其进行转义。大多数据库使用 / 作为转义符: O/'reilly 。这样可以将数据放入数据库中,而不会插入额外的 / 。当 PHP 指令 magic_quotes_sybase 被设置成 on 时,意味着插入 ' 时将使用 ' 进行转义。

 

默认情况下, PHP 指令 magic_quotes_gpc on ,它主要是对所有的 GET POST COOKIE 数据自动运行 addslashes() 。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes() ,因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

 

:

Magic_quotes_sybase: php.ini 设置 magic_quotes_sybase on 时会覆盖 magic_quotes_gpc on 的处理 , 然而 magic_quotes_sybase 仅仅是转义了 nullbyte 和把 ' 变成了 '' : magic_quotes_sybase php.ini 里默认是关闭的 , 但是属于 PHP_INI_ALL 类型的指令 , 那么就可以在 .htaccess 或者 httpd.conf 里来更改 magic_quotes_sybase 的设置了 . : // .htaccess
php_flag magic_quotes_sybase on

Magic_quotes_gpc: magic_quotes_gpc on ,php 在注册变量时会调用 addslashes() 函数处理 [ 既转义单引号、双引号、反斜线和 nullbyte], php.ini 中还有另外一个选项影响着 magic_quotes_gpc addslashes() 函数 : php.ini 设置 magic_quotes_sybase on 时会覆盖 magic_quotes_gpc on 的处理 , 然而 magic_quotes_sybase 仅仅 是转义了 nullbyte 和把 ' 变成了 ''




 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值