可能重复:
How to prevent SQL injection in PHP?
我在为我的大学图书馆的一个视频流网站工作。我使用的是PHP和MySql。我没有在这个项目中使用任何参数化查询。
最近,我了解了SQL注入的情况。既然我的代码已经基本完成,而且我必须在接下来的两天内提交项目,那么现在如何确保我的代码不容易使用SQL注入呢?
把整件事转换成参数化的界面是我现在所不能做的。现在我应该做些什么来避免在我的网站上注入SQL?
发布于 2011-04-11 19:46:05
防止SQL注入(如果不使用准备好的语句)的基本思想是转义您的数据。
当您向SQL查询中注入一些预期的整数值时,请使用确保它是整数。
当表中有十进制/数字字段时,请使用。
当表中有字符串(char、varchar、text)字段时,使用API提供的函数转义字符串:
发布于 2011-04-11 19:45:09
我确实建议您返回参数化查询并正确地执行它。这是实现安全的唯一坚实道路。一旦你开始做这件事,很可能不会花太长时间。
你也应该知道,网站从来没有“完成”。当你启动一个网站时,你的工作才刚刚开始。当您了解到安全问题时,修复它们是其中的一部分,这也没有什么不同。
发布于 2011-04-11 19:45:49
您需要确保使用mysql_real_escape_string函数对在SQL查询中使用的任何用户提供的输入进行转义,如果允许用户提交文本来对所提供的文本运行htmlentities,则不可能使用XXS。如果可能的话,白名单用户提供了输入,并放弃了其他任何内容。
这只是触及了您可以做的事情的表面,但是查看查询、转义和防止跨站点脚本。
https://stackoverflow.com/questions/5626607
复制相似问题