发布于 2010-12-15 14:58:46
我认为参数化查询不依赖于准备好的查询数据库支持。数据库驱动程序本身传递的值是安全的,如何实现取决于驱动程序本身。
数据库级别上的PostgreSQL手册解释了有关参数化查询的基本知识。
另一方面,参数化查询简化了对地区敏感数据的传递。例如,用户输入100,00小数点,但您的服务器需要100.00的值。
发布于 2010-12-15 05:46:01
在我所知道的每个数据库引擎中,使用“准备”(也称为“参数化”或“静态”)查询可以防止SQL注入。如果要将字符传递给参数,则不需要过滤任何字符。如果您曾经编写过在代码中连接在一起而不是使用参数准备的SQL,那么您可能面临SQL注入的风险。您应该使用数据库的安全手册,它很可能有一个关于SQL注入的部分,但是只需要阅读所有的内容。我敢打赌,这将需要不到一个小时,并将给您坚实的指导和信心,您正在遵循的最佳实践,适用于您的数据库。
https://stackoverflow.com/questions/4446855
复制相似问题