php - SQL注入(inject)-通过URL访问

标签 php mysql sql sql-injection

我有一个 PHP 函数来检查我的所有 php 文件,因此没有任何攻击可以上传任何脚本。 虽然,我客户的网站太旧了,几天前,我从服务器收到一条消息,上面写着:MYSQL 注入(inject),并且正在尝试使用查询。

系统有PHP版本:5.2.17,并且有正在弃用的mysql_queries...虽然系统的更新太难了..

我试图找到解决方案并检查这​​些:

  1. mysql_real_escape_string()
  2. is_numeric()
  3. htmlspecialchars(值, ENT_QUOTES)

我不知道这些是否重要!为了避免 SQL 注入(inject),上述任何操作是否有效?

此外,我发现这个是一个很好的解决方案:

使用:PHP的filter_input(..)

攻击是在 $_GET 值中进行的,但没有触及数据库..但是..我看到的查询类似于标识符..

如有任何建议或帮助,我们将不胜感激!

最佳答案

mysql_escape__real_string() 只是防止 SQL 注入(inject)本身所需的一个方法。 htmlspecialchars()是为了防止XSS攻击。

我猜你不能使用任何较新的库或升级 PHP。在这种情况下,id 建议您使用 http://php.net/manual/en/function.override-function.php 实现“安全”mysql_query因为很容易忘记转义查询。

关于php - SQL注入(inject)-通过URL访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52698605/

相关文章:

mysql - wampmysqld 服务未启动

mysql - 错误 : "Cannot Connect to Database Server"

php - 我可以获得最后插入行的列吗?

c# - 用于使用 Entity Framework 存储许多实体(使用双外键)的地址的单个地址表

php - 如何向mysql插入多行数据

将 php 应用程序从 linux 系统移动到一个正在运行的带有 wamp 的 Windows 7 时,php define 语句失败

php - MySQL 更新/插入删除 unicode 条目的反斜杠

mysql - 如何使用 MySQL 记录 Windows 7 网络流量和磁盘使用情况?

sql - 计算Postgresql中列类型的大小

php - 获取间隔之间的温差