zoukankan      html  css  js  c++  java
  • C# 实现escape功能

    Js段调用escape,可以解决掉很多特殊字符的显示处理,但是如果你需要在后台处理的时候,需要转换,不是转义,比如说你是在前台方法里面显示一段内容,比如:onmouseover="tooltip.show('aaaa')"; 但是如果这个时候aaa中间有个单引号,如:onmouseover="tooltip.show('aaa'a')";那到前台处理的时候就会出问题了。处理方法如下:

      chr(39) '  转换后就是 '如此转换后还需要用HttpUtility.HtmlEncode 

    onmouseover="tooltip.show('" + HttpUtility.HtmlEncode(EscapeAndRemoveXSS(strDisplayValue)) + "')"

    public static string EscapeAndRemoveXSS(object objInput)
    {
          StringBuilder sbdOutput = new StringBuilder();

    if (objInput != null)
    {
    StringBuilder sbdInput = new StringBuilder(objInput.ToString());
    for (int intIndex = 0; intIndex < sbdInput.Length; intIndex++)
    {
    char chrInput = sbdInput[intIndex];
    int intChar = System.Convert.ToInt32(chrInput);
    //We will encode every characters except "A-Z", "a-z", "0-9", "&", "#", ";", "", " " by default
    if (intChar == 32 || intChar == 35 || intChar == 38  || (intChar >= 48 && intChar <= 57) ||
    intChar == 59 || (intChar >= 65 && intChar <= 90) || intChar == 92 || (intChar >= 97 && intChar <= 122) || intChar == 58 || intChar == 33)
    {
    sbdOutput.Append(chrInput);
    }

    else
    {
    //strOutput = strOutput + chrInput;
    sbdOutput.Append("&#" + intChar + ";");
    }
    }
    }
    return sbdOutput.ToString()

    }

  • 相关阅读:
    python print format
    ElasticSearch的lowlevelApi和低级别API
    Ubuntu下搜狗输入法突然无法输入中文
    mysql基本操作
    eclipse配置代码自动提示
    使用JAAS登录kerberos服务器
    centos7配置kerberos服务,并使用JAAS登录
    LDAP none、simple、strong 笔记
    linux下yum安装最新稳定版nginx
    Mybatis if标签判断大小
  • 原文地址:https://www.cnblogs.com/Teresa-luo/p/5063416.html
Copyright © 2011-2022 走看看