C# 如何限制仅上传图像?
我已经建立了一个网站,是为了图像共享 用户上载图像PNG或JPEG文件 我已经在我的代码中检查了文件类型,所以如果它是非PNG或JPEG格式的,它将不会被上传 但是发生的事情是,我发现有很多.php文件是如何上传的 最后我的网站被黑了: 如何保护我的网站,但只允许上传真实图像文件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
我使用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是的,在相同的路径中