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;表示单引号,但我发现是单引号是没有用的,所以我也直接替换为空,就没有报错了。

  • 相关阅读:
    PAT顶级 1024 Currency Exchange Centers (35分)(最小生成树)
    Codeforces 1282B2 K for the Price of One (Hard Version)
    1023 Have Fun with Numbers (20)
    1005 Spell It Right (20)
    1092 To Buy or Not to Buy (20)
    1118 Birds in Forest (25)
    1130 Infix Expression (25)
    1085 Perfect Sequence (25)
    1109 Group Photo (25)
    1073 Scientific Notation (20)
  • 原文地址:https://www.cnblogs.com/chenyucong/p/6061443.html
Copyright © 2011-2022 走看看