我正在尝试分析上传文件(应该是图像)的内容,以阻止任何恶意篡改。因此,在处理之前,我想检测文件是否包含例如 PHP 代码。
$patern = "/<?php/" ;
$handle = fopen ($_FILES['image']['tmp_name'], "r");
if ($handle)
{
while (($buffer = fgets($handle, 4096)) !== false)
{
if ( preg_match ( $patern , $buffer ) );
{
echo "PHP files are forbidden";
}
}
if (!feof($handle))
{
echo "Error: fgets() failed\n";
}
fclose($handle);
}
发送图像后,结果是“PHP 文件被禁止”回显了 180 次。好的,正常,它在循环中,但在 mi pic 中没有一个php模式......有什么问题?模式?预匹配?亨德尔?非常感谢。