Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何限制仅上传图像?_C#_Asp.net_Image - Fatal编程技术网

C# 如何限制仅上传图像?

C# 如何限制仅上传图像?,c#,asp.net,image,C#,Asp.net,Image,我已经建立了一个网站,是为了图像共享 用户上载图像PNG或JPEG文件 我已经在我的代码中检查了文件类型,所以如果它是非PNG或JPEG格式的,它将不会被上传 但是发生的事情是,我发现有很多.php文件是如何上传的 最后我的网站被黑了: 如何保护我的网站,但只允许上传真实图像文件 我使用ASP.net C您可以使用accept属性限制类型。它将验证文件的mime类型 <asp:FileUpload ID="FileUploadFileType" runat="server" CssClas

我已经建立了一个网站,是为了图像共享

用户上载图像PNG或JPEG文件

我已经在我的代码中检查了文件类型,所以如果它是非PNG或JPEG格式的,它将不会被上传

但是发生的事情是,我发现有很多.php文件是如何上传的

最后我的网站被黑了:

如何保护我的网站,但只允许上传真实图像文件


我使用ASP.net C

您可以使用accept属性限制类型。它将验证文件的mime类型

<asp:FileUpload ID="FileUploadFileType" runat="server" CssClass="form-control" accept=".png,.jpg,.jpeg,.gif" />
不幸的是,它并不理想,您还需要某种后端解决方案。由于您仍然可以将rootkit作为.jpg文件上载,
也许另外检查文件头是个好主意。在接受服务器上的文件之前,您完全需要一个合适的rootkit检测解决方案。

下面的代码适用于您。系统接受的任何扩展都可以添加到accept中

asp:FileUpload ID="fileUploader" runat="server" accept=".png,.jpg,.jpeg,.gif" />
我认为这很好除非你不去做这样的验证

<asp:FileUpload ID="fuImportImage" runat="server" />
<asp:RegularExpressionValidator ID="regexValidator" runat="server"
 ControlToValidate="fuImportImage"
 ErrorMessage="Only JPEG images are allowed" 
 ValidationExpression="(.*\.([Jj][Pp][Gg])|.*\.([Jj][Pp][Ee][Gg])$)">
</asp:RegularExpressionValidator>

上载了许多.php文件??在相同的图像路径中???@zey是的,在相同的路径中