Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中用引号和双引号处理段落的安全方法?_Php_Xml - Fatal编程技术网

在PHP中用引号和双引号处理段落的安全方法?

在PHP中用引号和双引号处理段落的安全方法?,php,xml,Php,Xml,假设我正在通过文件_get_contents()导入一篇文章或获取用户输入,可能有单引号或双引号,或者两者都有。将所述内容强制转换为变量并随后进行操作的安全方法是什么?这取决于您稍后将如何处理输入: 输出为HTML: $input = htmlspecialchars($input); $input = escapeshellarg($input); $input = preg_quote($input); 在shell命令中使用它: $input = htmlspecialchars(

假设我正在通过文件_get_contents()导入一篇文章或获取用户输入,可能有单引号或双引号,或者两者都有。将所述内容强制转换为变量并随后进行操作的安全方法是什么?

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


输出为HTML:

$input = htmlspecialchars($input);
$input = escapeshellarg($input);
$input = preg_quote($input);
在shell命令中使用它:

$input = htmlspecialchars($input);
$input = escapeshellarg($input);
$input = preg_quote($input);
在数据库查询中使用它

如果你使用事先准备好的陈述,你就可以了。如果没有(为什么?),请使用:

在正则表达式中使用它:

$input = htmlspecialchars($input);
$input = escapeshellarg($input);
$input = preg_quote($input);


感谢您延长或更正此列表……)

只有当您将数据传递给其他函数(例如非二进制安全函数、没有准备语句的数据库查询)或在没有正确转义(htmlspecialchars())的情况下输出数据时,才会存在安全漏洞。您在这里期望什么样的“不安全”,您到底在做什么?这个问题没有什么意义。谢谢你的评论。你知道我在把这段文字转换成一个变量后要做什么吗。但是,如果这篇文章同时包含单引号和双引号,我就不能首先转换变量。源代码是外部json或xml文件。谢谢你,这是一个非常有用的列表。但就我而言,我太担心了。我使用simplexml_load_文件来处理一个包含单引号和双引号的xml文件。因此,我担心会有错误。但事实证明php实际上可以正确地处理这个问题。无论如何,非常感谢!是的,那样的话你太担心了!:)