gpt4 book ai didi

php - SQL注入(inject)我应该知道的符号

转载 作者:太空宇宙 更新时间:2023-11-03 10:24:19 25 4
gpt4 key购买 nike

我知道您可以使用 mysql_real_escape_string()(以及使用 htmlspecialchars())解决所有问题,但我想知道导致所有这些困惑的符号每个人都想摆脱?

这里的问题是,我们必须将不是我们构建的网站从一个主机转移到另一个主机。

它是从头开始编码的,以利用 php 现已弃用且从未被爱过的工具 - magic_quotes

主机更改后,php.ini 也发生了变化,我们遇到了很多意想不到的结果。我们无权访问 php.ini,没有 user.ini (5.2.x),并且主机响应不够快,无法启用一些额外功能.拉脱维亚的托管服务存在问题,这是一个主要问题。

但是,是的,这已经是题外话了。我只是想知道,哪些符号没有转义,没有魔法引号和没有保护可以造成所有这些困惑

另外,当文本包含类似 UNIX(主机操作系统)目录列表命令 - 方法未实现的 /ls 之类的内容时会出错。

看起来网站在 CLI 环境中与数据库交互,因此出现了 /ls 问题。我想确认一下,每当您输入以 / 开头并遵循 UNIX 命令的值时,都会出现“方法未实现”错误。

附言我不是在寻找解决方案,我已经修复了错误。只想知道符号。

更新澄清

1) 在写这个问题时,我正在调用 CLI 看起来像 socket 的调用- unix-domain/ TCP。生活和学习!

2) 如果您完整阅读了问题,您会发现我正在修复其他开发人员留下的错误/漏洞。由于我们接管了该客户的 IT 服务,他们希望我们也接管他们的网站。

3) 因为他们已经为当前的网站支付了很多钱,他们不想为一个更新更好的系统上的新网站支付更多的钱。

4) 脚本中的连接线是 - $this->db = DB::connect('mysql://'._DB_USER.':'._DB_PASS.'@'._DB_HOST.'/'._DB_NAME.''); - unix-domain 我猜。

最佳答案

来自PHP Manual :

mysql_real_escape_string() calls MySQL's library function mysql_real_escape_string, which prepends backslashes to the following characters: \x00, \n, \r, \, ', " and \x1a.

关于php - SQL注入(inject)我应该知道的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7519717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com