在我们古老的经典 ASP 环境中,我们利用 OWASP 从请求对象中获取密码并对非字母数字字符进行加密。这是防止sql注入(inject)的第一道防线。我们使用其他方法来防止完整的 sql 注入(inject)。
问题是,当我们收集数据以组合 HTTP 发布消息并从用户输入中获取密码时,OWASP 将其发送出去。因此密码不正确。
示例:密码 freddie$cougar 变为 freddie&36;cougar
我们最终做的是假设一个 50 个字符的文本字段没有足够的空间来执行大量的 sql 注入(inject)并更改了代码,因此我们没有 OWASP 输入密码。这感觉有点吓人。
他们是更好的方法吗?
代码是用vbScript编写的。
最佳答案
更好的解决方案是将所有查询转换为参数化查询。
关于sql - 当用户输入带有特殊字符的密码时如何防止 'DROP BOBBY TABLES'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3637969/