2011-11-25 21 views
0

用於消毒的形式輸入普通的正則表達式後,我,我想用它的名字姓字段,將被存儲在數據庫,如果我幾乎用它在其他地方一般能夠。良好的正則表達式消毒輸入

我使用ASP.net做任何上

+0

你說的「消毒」是什麼意思?什麼是charcaters刪除? –

+0

請看看這個主題。這已經被問到過了。 http://stackoverflow.com/questions/888838/regular-expression-for-validating-names-and-surnames – Graymatter

+0

你能否提供一個特定的用例(你試圖實現什麼),以及你已經擁有了什麼試過嗎?這個問題太普通了,看起來還沒有完成。否則,它可能會被標記爲版主。 –

回答

0

消毒用戶數據是輸出問題,而不是輸入的問題。

什麼被認爲是「衛生」爲MySQL數據庫並不一定是「衛生」爲MSSQL或PostgreSQL。數據庫被認爲「衛生」的可能性與您可以安全地在HTML文檔中發送的數據不同。 XHTML是一個不同的故事再次,如果你是outputing用戶提供的數據轉換成一個javascript塊或CSS塊是不同的,再。無法爲所有輸出目標清理用戶提供的數據。

這是更好地使用所提供的庫函數用於消毒的數據,而不是建立自己的正則表達式。 PHP(我碰巧知道比ASP.net更好)有mysql_real_escape_string()。我確信ASP.net將具有一個庫函數,用於清理用戶提供的數據以用於各種數據庫。它也可能具有用於清理用戶提供的HTML數據的庫函數。

Parameterised queries比消毒用戶提供的數據,甚至更好。它與ASP.net can be done。這是使用數據庫的正確方法。