【发布时间】:2021-05-14 21:27:23
【问题描述】:
我有一个允许用户上传文件的程序。
假设用户只被允许上传 psd 文件(或任何其他由 admin 用户指定的文件)。如果用户将文件扩展名从.exe更改为psd,则可以上传。
我们如何防止更改扩展名的文件被上传?
【问题讨论】:
-
检查 jpeg 标头。
标签: c# asp.net file-upload header-files .net-framework-version
我有一个允许用户上传文件的程序。
假设用户只被允许上传 psd 文件(或任何其他由 admin 用户指定的文件)。如果用户将文件扩展名从.exe更改为psd,则可以上传。
我们如何防止更改扩展名的文件被上传?
【问题讨论】:
标签: c# asp.net file-upload header-files .net-framework-version
您可以检查 ContentType 标头,但这可能会被有足够知识的人篡改。 就像 MrTux 指出的那样,最好的方法是读取文件头并检查它是否符合您要检查的文件格式。 很容易确定您是否有关于用户当前如何上传文件的信息。如果是您自己的系统,或者用户编写自己的 http post 请求。
【讨论】: