0

1-画像をアップロードするために適用することになっているセキュリティ対策は何か教えてください。

データベース、私はこのスクリプトを書いたばかりで、それがSQLインジェクションから保存されているかどうか、またはXSS攻撃から保存されているかどうかはわかりません。

2-アップロードされたすべての画像が画像フォルダーに保持される拡張子(php、html、cgiなど)のファイルの実行を許可したくありません。これを行う方法がわかりませんが、私は思う.htaccessで行う必要があります

3-あらゆる種類の攻撃を回避するために、Webサーバー上の画像フォルダーをどこに配置する必要がありますか

助けてください、

<form method="post" action="index.php" enctype="multipart/form-data">

            <input type="file" name="image" />
            <br/>
            <input type="submit" value="UPLOAD" />

        </form>


    if(isset($_FILES['image']))
    {
        if($_FILES['image']['error'] > 1)
        {
            die('Please choose image');
        }

        else if (!preg_match('([^\s]+((jpg|png|gif|jpeg))$)', $_FILES['image']['type']))    
        {
            die('Please upload a valid image with extension of ( jpg, gif, png, jpeg)');
        }


        else 
        {

            $target  = "upload/".time().'_'.basename($_FILES['image']['name']);

            $temp    = $_FILES['image']['tmp_name'];

            $moved   = move_uploaded_file($temp, $target);

            $conn    = mysql_connect('127.0.0.1','root','') or die (mysql_error());

            $db      = mysql_select_db('test');

            $image   = str_replace('upload/','', $target);

            $sql     = mysql_query("INSERT INTO `image` (`id`, `image_name`) VALUES ('','$image')");

            header('Location: index.php');

        }

    }
4

1 に答える 1

2

ファイルのアップロードに関する OWASP の推奨事項を確認してください https://www.owasp.org/index.php/Unrestricted_File_Upload

可能であれば、Web サーバーのパブリック ディレクトリの外にファイルを保存します。

于 2013-02-25T22:56:03.100 に答える