欢迎您来到,李雷博客 | PHP博客        登录  |  注册

php中htmlspecialchars()函数和addslashes()函数的使用和区别

更新:2019-11-12 13:35:09
人气:5634
来源:互联网转载
A+

在防止被注入攻击时,常会用到两个函数:htmlspecialchars()和addslashes()函数。这两个函数都是对特殊字符进行转义。

1)addslashes()作用及使用

addslashes()通常用于防止sql注入,它可对通过get,post和cookie传递过来的参数的单引号和双引号已经null前加“”进行转义

如:如变量$str=$_POST["str"];的值为:bb' or 1='1。通过addslashes()函数过滤后会变为:bb' or 1='1;

2)htmlspecialchars()作用及使用

htmlspecialchars()也是对字符进行转义,与addslashes()不同的是htmlspecialchars()是将特殊字符用引用实体替换。

如<script>alert('xss')</script>通过htmlspecialchars()过滤后为&lt;script&gt;alert(&#039;xss&#039;)&lt;/script&gt

3)addslashes()与htmlspecialchars()的区别

除了两个函数的转义方式不同外,它们的使用也不同。

addslashes()通过用于防止sql语句注入,在执行sql语句前对通过get、post和cookie传递来的参数中的单引号,双引号, 和null进行转义。

但sql执行成功后,插入到数据库中的数据是不带有转义字符的。这是如果插入到数据库中的是一些js脚本,当这些脚本被读取出来时还是会被执行。

这是我们可对读取出来的数据使用htmlspecialchars()进行过滤,避免执行被注入的脚本。

推荐的文章
# 发表我的评论
  /     /  
# 最近评论
暂时还没有评论,要不要说点什么?
  Ads by Google
  联系博主
Hello,本博客系统采用PHP和MySql开发,程序开发完全是因为个人爱好,是自己纯手写PHP源代码,未采用任何PHP框架!
QQ:858353007   微信号:lileihot123
网站地图
会员服务
关于我们
QQ:858353007
 
广告服务
加我微信
移动端访问
 
 
Copyright © 2014- 2024 www.mdaima.com All Rights Reserved.
李雷博客,专注PHP经验、PHP教程及PHP源代码开源下载分享的PHP博客!   ICP备案号:京ICP备10202169号-4