预防XSS攻击

青青子衿
青青子衿
青青子衿
109
文章
7
评论
2019年4月12日08:15:04 评论

攻击方式:

在页面展示的内容中掺杂js代码,以获取页面信息。

预防措施:

转换生成的js特殊字符

后端预防:

Node

npm包工具 xss 实现

npm i xss --save 
// 安装成功后 引入xss 
const xss = require("xss") 
// 使用xss工具过滤特殊字符 
const content = xss(string)

前端预防

使用js封装函数转换特殊字符

/*传入html字符串源码即可*/
 
function htmlEscape(text){ 
  return text.replace(/[<>"&]/g, (match, pos, originalText) => {
      switch(match){
          case "<": return "&lt;"; 
          case ">":return "&gt;";
          case "&":return "&amp;"; 
          case "\"":return "&quot;"; 
      } 
  }); 
}

weinxin
我的微信
爱生活、爱学习的小伙伴可以通过扫一扫二维码添加我的个人微信一起交流!
青青子衿
  • 本文由 发表于 2019年4月12日08:15:04
  • 转载请务必保留本文链接:https://ishangsf.com/archives/1275
gitbook常用的插件 java

gitbook常用的插件

1. 说明 本文主要讲解gitbook插件的使用。gitbook使用教程请参考我另一篇文章:https://segmentfault.com/a/11... Gitbook默认自带有5个插件: hig...
如何从官网下载 Google Chrome 离线安装包 java

如何从官网下载 Google Chrome 离线安装包

Google Chrome 已经是许多人的默认浏览器,但由于“你懂的”原因,在线安装基本没有成功过,他自己的自动更新也多数一直在加载中,所以我们会到一些下载站下载安装包,但我的多次经历告诉我,下载回来...
安装express、登录接口 java

安装express、登录接口

安装(使用脚手架 express) // npm 全局安装 express-generator npm install express-generator -g // 用 express 命令生成一个...
集合(Collection) java

集合(Collection)

15.01_集合框架(对象数组的概述和使用) A:案例演示 需求:我有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息。 Student arr = new Stude...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: