C# 如何在ASP.Net中保护上载的文件
我正在asp.net中上载excel、pdf、word、ppt等文档。我怎样才能使它安全C# 如何在ASP.Net中保护上载的文件,c#,asp.net,C#,Asp.net,我正在asp.net中上载excel、pdf、word、ppt等文档。我怎样才能使它安全 假设我有一个网站www.example.com,我在根目录的“Files”文件夹中上传了文档。我上传的文件名为3828392839.pdf,如果在地址栏中输入“www.example.com/Files/3828392839.pdf”url,则允许打开和下载文档。如果有有效的登录用户,我需要它允许打开或下载文件。保存文件时,您必须为此创建有效的文件夹结构 例如,如果用户ID为20052的用户登录并上载文件。
假设我有一个网站www.example.com,我在根目录的“Files”文件夹中上传了文档。我上传的文件名为3828392839.pdf,如果在地址栏中输入“www.example.com/Files/3828392839.pdf”url,则允许打开和下载文档。如果有有效的登录用户,我需要它允许打开或下载文件。保存文件时,您必须为此创建有效的文件夹结构 例如,如果用户ID为20052的用户登录并上载文件。那么文件路径应该是:
Files/20052/3828392839.pdf
在这里,我创建了与userid相同的foldername来保存上传的文件
打开文件时,您必须比较foldername
即20052和loggedinuserid
如果它们相同,则允许
下载文件。您应该根据自己的要求在asp.net站点中实施适当的身份验证和授权
要了解更多信息,请访问此链接
非常简单。创建一个普通的ASP.NET页面。执行您的身份验证无论您如何执行,如果他们通过了身份验证,请按此处所述将文件发送到响应
或者,如果他们没有通过身份验证,则不要发送文件,而是使用一些html响应,如“拒绝访问”您可以通过创建“文档”文件夹的权限来确保这一点。这意味着您需要上传文件和下载的权限
对于简单的windows身份验证:创建作为本地用户/组的读写器角色。
对于基本身份验证:最好是对角色使用数据库身份验证
如果您使用的是IIS7.0,则需要检查IIS应用池配置是否正确如果您使用的是IIS 7+,请参见以下问题:
对于IIS 6,您可以将文件放在app_data文件夹中,您需要制作一个处理程序来处理这些文件。您可以将文件上载到一个不向internet开放的位置。我已在上回答了这个问题。您只需要
来阻止任何未登录的人,并为其他文件类型添加处理程序。但是静态文件并不总是由asp.net管道管理。因此,您需要一些配置才能工作