我试图理解更多SQL注入的安全含义,并且不确定这一点,我无法在网上找到任何有用的东西。
我们可以通过正确编写Javascript代码来防止SQL注入吗?怎么样?
干杯
答案 0 :(得分:8)
永远不要仅仅通过JavaScript来尝试和阻止SQL注入。如果我关掉JavaScript会怎么样?您的验证会立即失败。如果我修改你的JS并删除阻止我注射的关键字会怎么样?
始终针对服务器进行验证。
答案 1 :(得分:1)
它不是正确编写JavaScript。
关于确保在服务器端不直接在查询中使用用户输入文本。它还涉及确保您使用prepared statements而不是直接完整查询。
答案 2 :(得分:1)
不,除非您碰巧直接在JS中运行SQL查询。查询链的最后部分应该进行参数化和验证。原因很简单:可以在浏览器中禁用JS,使您的清理失效。
单独使用参数化可以安全地防止SQL注入(一阶)。这是您真正的保护载体 - 没有任何文本清理可以完全降低风险。
答案 3 :(得分:0)
客户端的Javascript始终向用户公开。关闭Javascript很容易打败它。应始终在客户端和服务器端进行验证,以确保完全保护。