0

ユーザーが画像をアップロードできる無料の分類セクションがあり、そこにphpファイルをアップロードした場合にエラーを表示するようにユーザーを制限する方法

$StrFiles が text/php と等しい場合、それは実行されておらず、まだ php ファイルがアップロードされているということを示してみました。それを止める方法。plアドバイス

        $FILE_PATH="uploads/classifieds/ads";
        $StrFiles="";
        $StrFiles2="";

        if((file_exists($_FILES['pic']['tmp_name']))){
            if($_FILES['pic']['name']!="")
                {
                $dt = time()."s";
                if(!JFile::upload($_FILES['pic']['tmp_name'],$FILE_PATH.JFile::makeSafe($dt."_".$_FILES['pic']['name']))){
                        return JError::raiseWarning( 500, "Unable To upload File".$_FILES['pic']['name']);
                    }else{
                        $StrFiles=JFile::makeSafe($dt."_".$_FILES['pic']['name']);
                    }
                }
        }
        if((file_exists($_FILES['pic2']['tmp_name']))){
            if($_FILES['pic2']['name']!=""){
                $dt = time()."s";
                if(!JFile::upload($_FILES['pic2']['tmp_name'],$FILE_PATH.JFile::makeSafe($dt."_".$_FILES['pic2']['name']))){
                        return JError::raiseWarning( 500, "Unable To upload File".$_FILES['pic2']['name']);
                    }else{
                        $StrFiles2=JFile::makeSafe($dt."_".$_FILES['pic2']['name']);
                    }
                }
        }

           if ($StrFiles =="text/php")
             {
            echo "No PHP files<br>";
             $ok=0;
              } 

            if ($StrFiles2 =="text/php")
              {
            echo "No PHP files<br>";
            $ok=0;
              }              


    if($StrFiles){
        $pic= $StrFiles;
    }
    if($StrFiles2){
        $pic2= $StrFiles2;
    }
4

1 に答える 1

0

Joomlaを使用しているので、許可されているすべての画像拡張機能のリストを定義してJFile::getExt($filename)から、拡張機能が許可されているものに属しているかどうかを確認するために使用できます。

例えば

$allowed = array('jpg', 'png');
if(in_array(JFile::getExt($filename), $allowed) {
}
于 2013-02-17T13:25:20.900 に答える