js正则表达式过滤网页标签的内容实例代码

需求是模板字符串中不允许出现script 标签、不允许有javascript: 和 .js 文件引用,主要方法如下: clearScriptTag (str) { const reg = /script[^]*([\S\s]*?)\/script/gim; // 清除标签内 相关 xss 安全代码 const reg1 = /javascript:/gim; const reg2 = /
需求是模板字符串中不允许出现<script> 标签、不允许有javascript: 和 .js 文件引用,主要方法如下:
clearScriptTag (str) {
      const reg = /<script[^>]*>([\S\s]*?)<\/script>/gim;
      // 清除标签内 相关 xss 安全代码
      const reg1 = /javascript:/gim;
      const reg2 = / *.js/gim;
      if (reg.test(str)) {
        str = str.replace(reg, '');
        this.$message.error('非法标签 <script> 已被替换为空');
      }
      if (reg1.test(str)) {
        str = str.replace(reg1, '');
        this.$message({
          message: '非法代码javascript:已被替换为空',
          type: 'error',
          offset: 60
        });
      }
      if (reg2.test(str)) {
        str = str.replace(reg2, '');
        this.$message({
          message: '非法*.js已被替换为空',
          type: 'error',
          offset: 100
        });
      }
      return str;
    },
测试:
// 输入字符串为:
let str = '<div>
<span>测试文字</span>
</div>
<script>asdfasdfs</script>
<script></script>
<a></a>
<script>asdfasdfs sdf234 asd fasdfs</script>
<script>asdfasdfs sdf234 asd fa
  sdfs</script>
<span src:"javascript:aaa//xx.js">测试文字</span>
<span src:"javascript:aaa//xaaax.js">测试文字</span>
<span src:"javascript:aaa//xx.js">javascript:aaa//xx.js</span>'
// 过滤后字符串为:
'<div>
	<span>测试文字</span>
</div>
<a></a>
<span src:"aaa//xx">测试文字</span>
<span src:"aaa//xaaax">测试文字</span>
<span src:"aaa//xx">aaa//xx</span>'
 
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

创建容器 xm-select-demo,选择容器 隐藏赋值取值表单; div id="selected_box" class="layui-input-inline xm-select-demo" style="width:150px;"input type="hidden" id="poi_category_id"/div 异步获取代码 //获取分类; $.ajax({ type: 'get', url: "./ap
本文主要和大家分享一篇php 读写json文件及修改json的方法,具有很好的参考价值,希望能帮助到大家。实例代码如下: //追加写入用户名下文件$code="001";//动态数据$json_string=file_get_contents("text.json");//从文件中读取数据到PHP变量$data=json_decod
js给元素增加或移除style属性的实例代码: !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" meta http-equiv="X-UA-Compatible" content="IE=edge" meta name="viewport" content="width=device-width, initial-scale=1.0" titleDocument/title/headbo
使用MySQL和PHP创建嵌套JSON可以通过以下步骤实现: 创建MySQL数据库表格:首先,在MySQL数据库中创建一个表格,用于存储数据。表格的结构可以根据需要进行设计,但至少应包含一个用于存储JSON数据的列。 插入数据:使用INSERT语句将数据插入到表格中。在插
php+mysql将数据库查询结果返回为Json格式,实例代码如下: ?php // 配置json header("Content-type: application/json;charset=UTF-8"); // 跨域配置 header("Access-Control-Allow-Credentials: true"); header("Access-Control-Allow-Origin: *"); $conn =
php读取数据库里的数据以JSON格式返回数据的代码如下: $sql="select * from users";$result=mysqli_query($link,$sql); //$link 链接数据库实例,自己写的包含文件conn.php里; if($result mysqli_num_rows($result)0){ $data=array(); //定义数组对象; wh