PHP中addslashes()和stripslashes()实现字符串转义和还原
来源:互联网 发布:大脚数据库 编辑:程序博客网 时间:2024/04/29 00:13
PHP中addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。
预定义字符是:
单引号(')
双引号(")
反斜杠(\)
NULL
stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。
用法示例如下:
<?php $str="select * from `book` where bookname='脚本之家'"; echo $str."<br/>";//输出字符串$str echo $astr=addslashes($str);//字符串转义并输出 echo "<br/>"; echo stripslashes($astr);//将转义字符串还原 ?>
运行结果如下:
select * from `book` where bookname='脚本之家' select * from `book` where bookname=\'脚本之家\' select * from `book` where bookname='脚本之家'
补充:
addslashes()与addcslashes()函数的差别:
这是两个写法非常相近但是应用有所差别的函数,addslashes() 函数返回在预定义字符之前添加反斜杠的字符串,而addcslashes() 函数返回在指定字符前添加反斜杠的字符串,,因此addcslashes() 函数需要添加附加参数说明需要添加反斜杠的具体字符。
addslashes
是如何防注入的,就是防止在我们写SQL
时直接套用输入参数而导致产生可被注入的SQL
来防注入的。
例如$sql = "SELECT * FROM user WHERE id = '$id'";
,如果这里的$id
参数被人故意操作成了1' OR '1 = 1'
,那不就成了注入SQL
了吗?
而如果用addslashes
加上斜杠,$id
中的引号就会被转意,也就不会产生错误的SQL
。但这些结果都不会影响到数据写入,因为真正插入和更新数据时,这些斜杠又会被转意回来的。
- PHP中addslashes()和stripslashes()实现字符串转义和还原
- PHP 格式化字符串函数:addslashes()和stripslashes()
- PHP中stripslashes和addslashes的使用
- PHP中stripslashes和addslashes的应用
- PHP中addslashes和stripslashes的应用
- php中stripslashes和addslashes的区别
- PHP中addslashes()和stripslashes()函数的用法
- php-addslashes、stripslashes、魔术引号(字符串转义)
- php-addslashes、stripslashes、魔术引号(字符串转义)
- PHP 字符串存储(转义) addslashes 与 stripslashes 函数
- php stripslashes和addslashes的区别
- php stripslashes和addslashes的区别
- php get_magic_quotes_gpc() stripslashes()和addslashes()的关系
- Stripslashes和addslashes 区别
- addslashes()、stripslashes()和magic_quotes_gpc
- 关于addslashes()和stripslashes()
- addslashes 和 stripslashes
- PHP中stripslashes()与addslashes()
- web基础回顾_01(html)
- Free Candies UVA
- HashCode和equal方法的区别和联系
- cocos2dx绘制时钟
- react nativ react ImmutableJS
- PHP中addslashes()和stripslashes()实现字符串转义和还原
- 2017.8.15 提高B组模拟总结
- Out of Hay(Kruska算法求最小生成树l)
- JavaScript学习笔记(字符串操作)
- HDU 6121 Build a tree [想法题]
- easyui+如何弹出dialog中包含datagrid
- Android 数据库(3)-----Litepal使用
- Redis的持久化-RDB
- Junit5的注解(Annotations)