zoukankan      html  css  js  c++  java
  • XSS【跨站脚本攻击】

    从客户端(txt="<script><a href="www...")中检测到有潜在危险的 Request.Form 值。

    如果你使用的是.NET 3.5,那么你只要为接收表单值的Action添加一个特性:[ValidateInput(false)] 就可以了,无需在页面设置ValidateRequest="false" 属性。
    
         [HttpPost]
         [ValidateInput(false)]
         public string CheckTxt()
        {
    
         }
    如果使用的是.NET 4.0,你会发现这一操作后,仍然无效。
    
    因为.NET 4.0做了改变,需要在你的Web.config 中,在<system.web>节点下增加:
    
    web.config:
    
      <system.web>
        <httpRuntime requestValidationMode="2.0"/>
      </system.web>
    
    Controller:
        
         [HttpPost]
            [ValidateInput(false)]
            public string CheckTxt()
            {
     
            }
       
    解决跨站脚本攻击的方法之一:
    把输入的特殊符号使用其他字符进行替换
    判断是否含有特殊字符

         var a = '>';
         if (txt.indexOf(a)>1) {
         alert(2);
         }

      进行替换

      txt.replace("<", "〈"),只可以替换第一个

      txt.replace(/</g, "〈"),可以替换全部  /g是正则表达式的语法,表示全部的意思,在这里就表示全部替换。 





    接受特殊字符和jquery的方法
      
      使用编码和解码的方式
  • 相关阅读:
    使用IDEA打包出现“Cleaning up unclosed ZipFile for archive”错误
    Kafka读取本地文件作为生产者
    Redis连接池
    如果javaapi长时间消费不到数据
    Redis 持久化的两种方式
    kafka结合streaming的两种方式
    二分法查找
    shell脚本学习
    Md5Utils
    idea添加jar包
  • 原文地址:https://www.cnblogs.com/xiaoyaodijun/p/4505860.html
Copyright © 2011-2022 走看看