我正在开发一个 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?