HttpUtility.UrlEncode以防止SQL注入

时间:2016-08-31 14:55:18

标签: c# asp.net

正在使用HttpUtility.UrlEncode()来阻止SQL注入where子句。但是,输入的一些文本有空格,用%20替换它们将停止查询。还有更好的选择吗?

2 个答案:

答案 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