vue-xss

1.0.5 • Public • Published

vue-xss

npm version language file size LICENSE

一个开箱即用的Vue.js插件,可通过简单的方式防止XSS攻击

有任何问题欢迎发布 issue,我会在看到后第一时间回复大家。如果觉得还不错的话,不要吝啬你的 star 哦~

安装

推荐使用npm安装

npm i vue-xss

使用

// main.js
import VueXss from 'vue-xss'
Vue.use(VueXss)
<!-- *.vue -->
<div v-html="$xss(content)"></div>

自定义配置项

支持 js-xss 的自定义规则,可通过 options 对象形式传入实例, 具体请点击 js-xss 查看

示例

// mani.js
var options = {
  // 默认白名单参考 xss.whiteList
  whiteList: {
    a: ['href', 'style'],
    img: ['src', 'alt'],
    ...
  },
  stripIgnoreTag: true, // 去掉不在白名单上的标签   true:去掉不在白名单上的标签
  stripIgnoreTagBody: ['script', 'style'] // 去掉不在白名单上的标签及标签体   ['tag1', 'tag2']:仅去掉指定的不在白名单上的标签
  onTagAttr: function () {
    // todo
  },
  ...
}

import VueXss from 'vue-xss'
Vue.use(VueXss, options)
<!-- *.vue -->

<template>
  <div v-html="$xss(content)"></div>
  <!-- 过滤后输出:<iframe></iframe> -->
<template>

<script>

export default {
  data () {
    return{
      content: '<iframe onload=alert("XSS-TEST")></iframe>'
    }
  },
  ...
}

</script>

鸣谢

感谢 js-xss 作者的支持 @ leizongmin

LICENSE

MIT

Package Sidebar

Install

npm i vue-xss

Weekly Downloads

388

Version

1.0.5

License

MIT

Unpacked Size

18.3 kB

Total Files

12

Last publish

Collaborators

  • hua909000