SQL参数 - 使用位置

The*_*ver 2 mysql sql database parameters

我正在将SQL参数应用于我的项目以防止SQL注入.

我是否为我的应用程序中的每个查询添加参数,包括没有任何用户交互的查询?

例如,如果我的用户想要搜索关键字并提交了文本字段.我已经将参数化方法添加到使用该关键字的查询中,以阻止用户添加恶意内容.但是在这个查询下面是另一个查询,它从顶部搜索获得关键字ID并在其他地方运行它自己的小查询.

这是令我困惑的,即使关键字ID不是来自用户,我是否也将参数方法添加到此查询中?

非常感谢

Ode*_*ded 5

是的,在您拥有参数的任何地方使用参数化查询.

这事实上今天没有用户输入的是在一个特定的查询中,并不意味着明天将是相同的.代码更改.也许恶意用户会弄清楚如何破坏第一个查询,然后是第二个查询.

你应该深入思考防守.

  • 以下是Jeff Atwood的主题:http://www.codinghorror.com/blog/2005/04/give-me-parameterized-sql-or-give-me-death.html (2认同)