【轉載】兩個Web.config中鏈接字符串中特殊字符解決方案

userid =  testhtml

password = aps'";web

那麼鏈接字符串的寫法爲:數據庫

Provider=SQLOLEDB.1;Password="aps'"";";Persist Security Info=True;User ID=spooltest;Initial Catalog=MyBeer20G;Data Source=HI4-SV09安全

若是鏈接字符串寫在web.configxml文件)中,只要把雙引號做html轉義(替換成&quote;),程序不須要作任何改動,鏈接字符串改成:ide

Provider=SQLOLEDB.1;Password=&quote;aps'&quote;&quote;;&quote;;Persist Security Info=True;User ID=spooltest;Initial Catalog=MyBeer20G;Data Source=HI4-SV09工具


若是鏈接字符串的密碼中存在雙引號,使用framework1.1時切記打上framework1.1pacth,不然System.Data.SqlClient.SqlConnent類的鏈接字符串不支持雙引號。

若是登陸或密碼包含如下字符[]{}(),;?*! @則使用SQL Query Analyer不能鏈接數據庫
測試

 

Web.config中鏈接字符串的解決方案以下ui

1.直接在Web.config中寫明文鏈接字符串加密

這種方式優勢:spa

a.無需使用第三方工具

b.數據庫鏈接一目瞭然,容易維護

缺點:

a.用戶必須瞭解字符串生成的一個特殊規則,即:若是關鍵字所對應的值含有雙引號,

則必須成對出現。

 

b.另外用戶必須知道5XML轉義字符(若是鏈接字符串中含有特殊字符)

<

<

小於號

&gt;

>

大於號

&amp;

&

&apos;

'

單引號

&quot;

"

雙引號

例子:

<add key="ConnectionString" value="server=ServerName;database=DBName;uid=test;pwd=&quot;a-=\;',./:&quot;&quot;&lt;&gt;?@&amp;b&quot;;" />

數據庫鏈接:

server=ServerName;database=DBName;uid=test;pwd="a-=\;',./:""<>?@&b";

數據庫密碼:a-=\;',./:"<>?@&b (只有一個雙引號)

(插曲:鑑於大多用戶可能會忘記這些規則,
因此建議把這些規則寫到Web.config註釋中,
並提供測試頁面,檢測數據庫鏈接字符串是否能鏈接數據庫,
並提供很是友好的提示)

2.Web.config維護加密過的鏈接字符串。

這種方式優勢:

a.數據鏈接字符串保密性好,安全性高

b.無需瞭解過多的XML,數據庫鏈接字符串知識

缺點

a.不容易維護

b.必須使用第三方工具,加密解密

相關文章
相關標籤/搜索