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

相關文章
相關標籤/搜索