防XSS攻击之特殊字符转换为html实体

1 篇文章 0 订阅

什么是XSS攻击,比如,比如,
我们把网站发布在网上,有一些恶意的用户在提交数据的时候会在表单输入js,css.a标签之类的这些html语言,然后这些数据被保存到数据库,那么我们要调用这些数据的时候,这些数据被原封不动的被呈现在网页上,这些数据是可以被html所识别的,届时我的的页面就会变得乱七八糟的。
怎么解决呢,我们只要在这些数据没有插入数据库前调用php内置函数将这些特殊的字符转换为html实体。接下来我们来谈谈php的这几个内置函数。

*1.htmlentities — 将字符转换为 HTML 转义字符

用法:

htmlentities( string $string[, int $flags = ENT_COMPAT | ENT_HTML401[, string $encoding = ini_get("default_charset")[, bool $double_encode = true]]] ) : string

*2.htmlspecialchars — 将特殊字符转换为 HTML 实体(这个函数与htmllentities函数的去别是,htmlentities会转换所有HTML 实体的字符,而这个函数就只转换以下特殊字符的html实体)

  • & (& 符号) ‘&amp’;
  • " (双引号) ‘&quot’,
  • ’ (单引号) 设置了 ENT_QUOTES 后, ‘&#039’;(如果是 ENT_HTML401) ,或者 ‘&apos’; (如果是 ENT_XML1、 ENT_XHTML 或 ENT_HTML5)。
  • (小于号) ‘&lt’;
  • (大于号) ‘&lt’;

用法:

htmlspecialchars( string $string[, int $flags = ENT_COMPAT | ENT_HTML401[, string $encoding = ini_get("default_charset")[, bool $double_encode = TRUE]]] ) : string
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值