zoukankan      html  css  js  c++  java
  • ueditor 添加微软雅黑字体 异常“从客户端中检测到有潜在危险的 request.form值”,解决

    使用ueditor往数据库添加文本内容时,如果字体有css样式, <,>," 这些字符会导致报出异常信息:从客户端中检测到有潜在危险的 request.form值

    因为这些字符有可能会被XSS跨站脚本攻击,所以vs会报出异常,解决这个问题的办法就是把这些html标记字符替换为html文本字符。

    网上有些方法是关闭网站的检测,我认为这是不安全的方法。

    下面说一下如果替换这些字符:

     1 <script>
     2         var ue = UE.getEditor('container');
     3 
     4         $(function () {
     5             $('#form').submit(function () {
     6                 var content = ue.getContent();
     7                 //content = content.replace(/</g, '&lt;').replace(/"/g, '&quot;').replace(/>/g, '&gt;').replace(/&#39;/g,'');
     8                 content = UE.utils.unhtml(content);
     9                 content = content.replace(/&#39;/g,'');
    10                 $('#Content').val(content);
    11             });
    12         })
    13     </script>

    结合之前文章说过的Jquery替换字符串方法,

    解决“从客户端中检测到有潜在危险的 request.form值”:

      1、通过content = content.replace(/</g, '&lt;').replace(/"/g, '&quot;').replace(/>/g, '&gt;');

        这是自己手动替换。

      2、通过content = UE.utils.unhtml(content);

        这是ueditor提供的方法,其实源码与方法一是一样的。

      即可把<、"、>替换为html文本。

    解决ueditor的微软雅黑报出异常“从客户端中检测到有潜在危险的 request.form值”

      不知道为什么,ueditor的字体改为微软雅黑后,html文本会变为style="font-family: 微软雅黑, &#39;Microsoft YaHei&#39;;"

      看到源码中,&#39;表示单引号,但我发现是单引号是没有用的,所以我也直接替换为空,就没有报错了。

  • 相关阅读:
    响应式css样式
    组件 computed 与 vuex 中 getters 的使用,及 mapGetters 的使用,对象上追加属性,合并对象
    nginx 错误集锦
    动态的添加路由
    NProgress的使用 及 路由 token 定向的使用
    token的解码及 判断值不为空的方法
    nginx 的使用
    IT公司100题-tencent-打印所有高度为2的路径
    测试
    Objective-C 与 C++ 的异同
  • 原文地址:https://www.cnblogs.com/chenyucong/p/6061443.html
Copyright © 2011-2022 走看看