App.config/Web.config 中特殊字符的处理

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

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

App.config:编程

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  <connectionStrings>
    <add name="DBconnStr" connectionString="Data Source=.;Initial Catalog=MyTest;User ID=sa;PassWord=123&456"/>
  </connectionStrings>
</configuration>

因为数据库链接的密码中含有特殊字符"&",编译时出现以下以下错误信息:安全

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

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

HTML中<,>,&等有特殊含义(<,>,用于连接签,&用于转义),不能直接使用。这些符号是不显示在咱们最终看到的网页里的,那若是咱们但愿在网页中显示这些符号,就要用到HTML转义字符串(Escape Sequence)了学习

 

HTML特殊转义字符列表加密

最经常使用的字符实体spa

显示code

说明

实体名称

实体编号

 

空格

&nbsp;

&#160;

<

小于

&lt;

&#60;

>

大于

&gt;

&#62;

&

&符号

&amp;

&#38;

"

双引号

&quot;

&#34;

©

版权

&copy;

&#169;

®

已注册商标

&reg;

&#174;

商标(美国)

&#8482;

×

乘号

&times;

&#215;

÷

除号

&divide;

&#247;

因此只要把"&"进行转义就能够了,将PassWord改成

PassWord=123&amp;456"

成功经过编译。

 

http://www.cnblogs.com/fordwayne/p/3200470.html

相关文章
相关标签/搜索