zoukankan      html  css  js  c++  java
  • App.config/Web.config 中特殊字符的处理

    来源:https://www.cnblogs.com/fordwayne/p/3200470.html

    我们知道在应用程序中嵌入连接字符串可能导致安全漏洞和维护问题。使用 Ildasm.exe(MSIL 反汇编程序) 工具可以查看编译到应用程序源代码中的未加密连接字符串。此外,如果连接字符串发生更改,则必须重新编译应用程序。因此,强烈建议将连接字符串存储在应用程序配置文件中。

    最近在学习SQL Server时遇到连接字符串包含特殊字符出现编译错误的问题。

    App.config:

    复制代码
    1 <?xml version="1.0" encoding="utf-8" ?>
    2 <configuration>
    3     <startup> 
    4         <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    5     </startup>
    6   <connectionStrings>
    7     <add name="DBconnStr" connectionString="Data Source=.;Initial Catalog=MyTest;User ID=sa;PassWord=123&456"/>
    8   </connectionStrings>
    9 </configuration>
    复制代码

    由于数据库连接的密码中含有特殊字符"&",编译时出现如下如下错误信息:

    显然编译器不认识"&456",怎么解决呢,总不能更换密码吧?

    事实上App.config是xml文件,在xml文件中特殊字符要进行HTML转义。

    HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,就要用到HTML转义字符串(Escape Sequence)了


    HTML特殊转义字符列表

    最常用的字符实体

    显示

    说明

    实体名称

    实体编号

     

    空格

    &nbsp;

    &#160;

    <

    小于

    &lt;

    &#60;

    >

    大于

    &gt;

    &#62;

    &

    &符号

    &amp;

    &#38;

    "

    双引号

    &quot;

    &#34;

    ©

    版权

    &copy;

    &#169;

    ®

    已注册商标

    &reg;

    &#174;

    商标(美国)

    &#8482;

    ×

    乘号

    &times;

    &#215;

    ÷

    除号

    &divide;

    &#247;

    所以只要把"&"进行转义就可以了,将PassWord改为

    PassWord=123&amp;456"

    成功通过编译。

  • 相关阅读:
    nginx主配置文件详解
    微信网页第三方登录原理
    QQ第三方登陆流程详解
    php垃圾回收机制
    mysql索引
    MySQL性能优化的最佳20+条经验
    MYSQL explain详解
    mysql分区功能详细介绍,以及实例
    MySQL分表、分区
    Redis主从读写分离配置
  • 原文地址:https://www.cnblogs.com/zouhao/p/13140442.html
Copyright © 2011-2022 走看看