在 PHP 中处理带有引号和双引号的通道的安全方法


Safe way to process passage with quote and double quote in PHP?

>假设我正在通过file_get_contents()导入段落或获取用户输入,可能会有单引号或双引号或两者兼而有之。将所述内容转换为变量并在之后进行操作的安全方法是什么?

这取决于您稍后将如何处理输入:


输出为 HTML:

$input = htmlspecialchars($input);

在 shell 命令中使用它:

$input = escapeshellarg($input);

在数据库查询中使用它

如果你使用预准备的语句,你没问题。如果不是(为什么?),请使用:

$input = mysqli_real_escape_string($mysqli, $string);
// or
$input = PDO::quote($input);
// other database extension may introduce their own quoting functions

在正则表达式中使用它:

$input = preg_quote($input);

感谢此列表的扩展或更正。 :)