什麼是特殊字符;出於安全原因,我不應該允許用戶在文本框字段中輸入。從文本框驗證防止sql注入
-2
A
回答
0
mysql_real_escape_string($ string)(PHP)將爲您完成這項工作。您不必過濾數據。
晴的'(單引號)和「(雙引號)會給煩惱沒有逃逸。
+0
謝謝Jordi,所有的後端部分都很好。這是我問的一般問題,如果我需要做驗證。我不應該允許進入的角色是什麼?下列人物如何,他們可以/ \:? []; – skystar
6
SQL注入可以更可靠地使用準備好的語句像下面的。如果你不能使用這種模式可以防止,第二個最好的方法是「白名單」的良好字符,而不是「黑名單」禁止的字符。
.NET
String query =
"SELECT account_balance FROM user_data WHERE user_name = ?";
try {
OleDbCommand command = new OleDbCommand(query, connection);
command.Parameters.Add(new OleDbParameter("custrName", CustName Name.Text));
OleDbDataReader reader = command.ExecuteReader();
// …
} catch (OleDbException se) {
// error handling
}
的Java
String custname = request.getParameter("customerName");
String query = "SELECT account_balance FROM user_data WHERE user_name = ? ";
PreparedStatement pstmt = connection.prepareStatement(query);
pstmt.setString(1, custname);
ResultSet results = pstmt.executeQuery();
您可以準備語句的更多例子諮詢OWASP SQL Injection Prevention Cheat Sheet和OWASP Input Validation Cheat Sheet瞭解更多關於白名單,如果你絕對的白名單/黑名單設置。
相關問題
- 1. 防止文本框發射驗證器
- 2. 正確驗證用戶輸入不足以防止sql注入
- 3. 防止SQL注入
- 4. 防止SQL注入
- 5. 防止sql注入
- 6. PHP + SQL腳本 - 防止SQL注入
- 7. 提交之前消毒Asp.Net文本框,以防止SQL注入
- 8. SQL防止SQL注入
- 9. 防止插入SQL注入
- 10. 驗證--->「<---(單引號)異常在C#(防止SQL注入)
- 11. 防止進入文本框
- 12. 通過ruby腳本防止SQL注入
- 13. 基本瞭解防止sql注入codeigniter
- 14. 防止SQL注入ASP .NET
- 15. 防止SQL注入的PHP
- 16. Delphi - 防止SQL注入
- 17. PHP防止SQL注入/ XSS
- 18. 如何防止SQL注入?
- 19. TryParse防止SQL注入嗎?
- 20. pdo防止sql注入
- 21. 2012年防止SQL注入
- 22. 防止SQL注入與PHP
- 23. 試圖防止sql注入
- 24. 防止SQL注入查詢
- 25. 防止SQL注入在asp.net
- 26. 防止SQL注入在ZF
- 27. 關閉對話框時,如何防止jQuery驗證從驗證
- 28. 防止驗證()
- 29. 輸入文本框驗證
- 30. 文本框輸入驗證
查看SQL特殊字符:http://stackoverflow.com/questions/712580/list-of-special-characters-for-sql-like-clause – Gareth