正在使用HttpUtility.UrlEncode()
来阻止SQL注入where子句。但是,输入的一些文本有空格,用%20
替换它们将停止查询。还有更好的选择吗?
答案 0 :(得分:1)
在数据库查询中使用参数而不是连接输入。任务完成。如果这听起来像是很多工作 - 考虑像dapper这样的工具可以轻松实现:
<div id="container">
<div id="item1">
<a href="#">Some Link</a>
</div>
<div id="item2">I want about 50% of the window</div>
<div id="item3">me, too!</div>
</div>
答案 1 :(得分:1)
要防止SQL注入,最好使用SQL参数。 使用参数时,SQL确保永远不会执行查询中的参数。
永远不要通过连接字符串来构造查询。特别是当它是不可信的输入时(从用户收到)!
在您使用c#的情况下,您可以看一下: http://csharp-station.com/Tutorial/AdoDotNet/Lesson06