0

1-任何人都可以告诉我我应该申请上传图像的安全措施是什么

数据库,我刚写了这个脚本,我不知道它是否从 sql 注入中保存,甚至是 XSS 攻击,

2-我不想允许执行任何扩展名为(php、html、cgi等)的文件,其中图像文件夹将保存所有上传的图像,我只是不知道该怎么做,但我认为它必须用 .htaccess 来完成

3-我应该在我的网络服务器上找到图像文件夹以避免任何类型的攻击

请提供任何帮助,

<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 回答