您的位置:首页 > 编程语言 > PHP开发

addslashes - php函数

2017-12-22 11:10 134 查看

函数定义

string addslashes ( string $str)


参数

str
要转义的字符

返回值

  返回转义后的字符。

说明

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

  

  为什么要将入库的数据进行转义?为了防止sql注入。

    

  当要往数据库中输入数据时,如包含以上字符(’, “, , NULL字符)的字符串,这就需要对其进行转义。强烈建议使用DBMS的转义函数(如mysql的是mysqli_real_escape_string(), PostgreSQL是pg_escape_string())。但是如果使用的DBMS没有一个转义函数,并且使用 \ 来转义特殊字符,就可以使用这个函数。 仅仅是为了获取插入数据库的数据,额外的 \ 并不会插入。

当PHP指令magic_quotes_sybase=on时,意味着插入 ’ 时将使用 ’ 进行转义。

注意

  PHP 5.3及之前版本:magic_quots_gps模式是on,不要对已经被magic_quotes_gpc转义过的字符串使用addslashes(),这样会导致双层转义。在使用addslashes()之前应该先使用get_magic_quotes_gpc()进行检测。

  

  PHP 5.4及之后版本:magic_quotes_gpc配置已经被废弃,所有的GET、POST、COOKIE数据都已被addslashes()了。转义检测函数get_magic_quotes_gpc()也已经被废除,将始终返回false。

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: