addslashes - php函数

来源:转载

函数定义

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。

分享给朋友:
您可能感兴趣的文章:
随机阅读: