2011-04-13 196 views
3

我有關於將HTML數據插入SQL Server的問題。這裏是細節:將HTML數據插入到SQL Server中

這是我的存儲過程;

@articleID int, 
@articleBody nvarchar(max) 
AS 

UPDATE v2_Articles SET articleBody = @articleBody WHERE articleID = @articleID 

這是我的asp代碼插入數據;

x_articleBody = Replace(Replace(Request.Form("x_articleBody"), CHR(34), """"), "'", """") 

Connection.Open(ConnStr) 
Connection.Execute("EXEC InsertBody @articleID = " & aID & ", _ 
@articleBody = '" & x_articleBody & "'")    
Connection.Close() 

這是我的插入數據;

<font> TEXT TEXT &nbsp;&nbsp; TEXT TEXT</font> 

所以,問題是:當我嘗試這一點,數據保存,直到

&nbsp; 

這意味着過程中SQL表後改變等;

<font> TEXT TEXT 

有什麼想法嗎?

ps。我正在使用nicedit文本編輯器來生成html數據。

+0

這是各種不好的。爲什麼要在數據庫中保存HTML?你是否驗證你的論點?你如何避免保存惡意HTML?您應該使用sproc而不是動態SQL。等等 – n8wrl 2011-04-13 11:10:05

+0

,因爲沒有人可以插入任何惡意HTML,這是本地應用程序,除了admin =)) – 2011-04-13 11:53:20

回答

2

首先,不要使用嵌入式SQL - 這樣做會讓您頭痛不已,因爲您必須經歷這個數據清理混亂,並且將您的應用程序暴露給潛在的SQL Injection

創建一個將文本作爲參數的存儲過程,並使用它來保存您的HTML標記。

+0

以外的任何頁面都不可訪問Kon,能否請您提供關於將文本作爲參數的建議=) – 2011-04-13 11:54:51