如何防止 js(XSS)攻击 解决方法

了解js (xss)攻击https://blog.csdn.net/qq_30202073/article/details/87777264

规避方法

过滤特殊字符(第一种)
避免XSS的方法之一主要是将用户所提供的内容进行过滤,许多语言都有提供对HTML的过滤:

  • PHP的htmlentities()或是htmlspecialchars()。
  • Python的cgi.escape()。
  • ASP的Server.HTMLEncode()。
  • ASP.NET的Server.HtmlEncode()或功能更强的Microsoft Anti-Cross Site Scripting Library
  • Java的xssprotect (Open Source Library)。
  • Node.js的node-validator。

使用HTTP头指定类型(第二种)
很多时候可以使用HTTP头指定内容的类型,使得输出的内容避免被作为HTML解析。如在PHP语言中使用以下代码:

<?php
   header('Content-Type: text/javascript; charset=utf-8');
?>

即可强行指定输出内容为文本/JavaScript脚本(顺便指定了内容编码),而非可以引发攻击的HTML。

预防XSS攻击

从根本上说,解决办法是消除网站的XSS漏洞,这就需要网站开发者运用转义安全字符等手段,始终把安全放在心上。

简单点,就是过滤从表单提交来的数据,使用php过滤函数就可以达到很好的目的。

htmlspecialchars() 函数

代码实例:

<?php  

if (isset($_POST['name'])){  

    $str = trim($_POST['name']);  //清理空格  

    $str = strip_tags($str);   //过滤html标签  

    $str = htmlspecialchars($str);   //将字符内容转化为html实体  

    $str = addslashes($str);  //防止SQL注入

    echo $str;  

}  

 

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昊喵喵博士

大哥你真帅,小姐姐你真漂亮

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值