没有准备好的语句和代码注入的PDO

时间:2019-02-08 15:44:04

标签: php mysql security pdo code-injection

我正在重写一个大型PHP项目,以从mysqli切换到PDO。

我知道要避免代码注入,这些是好的做法: -将字符集设置为utf-8 -将PDO :: ATTR_EMULATE_PREPARES设置为false -使用准备好的语句

但是正确的知道我无法修改成千上万行代码,因此我必须包装旧的mysqli函数。 由于我无法修改查询,并且它们使用mysql_real_escape_string,我该怎么办?

我有这样的东西:

function custom_escape_string($string, $link)
{
  return mysqli_real_escape_string($link, $string);
}

但是我不能使用mysqli_real_escape_string,因此我需要更改为以下内容:

function custom_escape_string($string, $link)
{
  return addslashes($string);
}

我知道,仅用斜线是不够的。我能做什么?

谢谢

0 个答案:

没有答案