0

我正在尝试分析上传文件(应该是图像)的内容,以阻止任何恶意篡改。因此,在处理之前,我想检测文件是否包含例如 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模式......有什么问题?模式?预匹配?亨德尔?非常感谢。

4

1 回答 1

0

对不起,

错误是:语法错误:末尾的分号:

 if ( preg_match ( $patern , $buffer ) );

否则它工作正常

于 2013-01-31T07:20:56.970 回答