0

我正在开发一个 web 应用程序,用户可以在其中将图像上传到服务器。我想确保用户上传图片,而不是其他任何东西,比如反向 shell 或恶意的东西。因此我不能使用扩展,因为你可以很容易地伪造它。

 var dlg = new OpenFileDialog();
            //dlg.Filter = "";
            dlg.Multiselect = false;

            bool? openClicked = dlg.ShowDialog();
            if (openClicked == true)
            {
                Stream stream = dlg.File.OpenRead();

                BinaryReader binary = new BinaryReader(stream);

//Determine filetype here.

                byte[] data = binary.ReadBytes((int) stream.Length);

必须有一个简单的方法来做到这一点?

Tl; dr:如何确定文件类型以防止反向 shell?

4

1 回答 1

0

您需要像这样应用文件过滤器,

     OpenFileDialog dlg = new OpenFileDialog();
     dlg.Filter = "All files (*.*)|*.*|PNG Images (*.png)|*.png";
于 2013-09-18T18:56:36.137 回答