虽然我现在使用的特定数据不会是用户生成的,并且会在我通常的验证例程中对其生命周期的一英寸内进行清理,但我想学习如何进行基本的 INSERT、SELECT 等操作。 SQL查询同时保护自己免受SQL注入攻击,仅供参考。我宁愿通过参数化查询学习如何以“正确”的方式做事。
消毒总是好的,但我将我可怜的智力与经验丰富的黑客相提并论。手动转义意味着我可能忽略了一些事情,因为黑名单不如白名单强大。为了进一步澄清,我并不是说使用(%s)
符号作为参数传递来构建可能名为sqlstatement
. 我认为我需要知道的神奇词汇之一是“绑定”。
我也希望避免 Python 标准库之外的任何内容。
有问题的应用程序需要 Microsoft SQL 2005(如果相关)。我正在使用 ActiveState Python 以及模块 dbi 和 odbc。因为这是别人的数据库,所以存储过程已经出来了。