问题
在IIS7+中可以安装请求过滤(Request Filtering)功能模块,通过这个模块可以通过各种角度(文件扩展名,URL,Http Verb,Http header,Query string)来对请求进行过滤。Request Filtering不仅可以过滤http服务请求,FTP服务也同样适用。比如有些情况下, 我们需要允许客户上传文件, 与此同时又要禁止用户下载文件. 在IIS7/7.5中, 可以通过配置FTP Request Filtering来实现这一功能.
分析
FTP 请求筛选是一种安全功能。这是一项在IIS 7/7.5上内置的功能. 通过此功能,Internet 服务提供商 (ISP) 和应用服务提供商可以限制协议和内容行为。他与HTTP 网站的请求筛选功能相类似. 在使用这个功能之前,需要确保FTP Service已经被安装上.
具体安装步骤请参考: http://www.iis.net/configreference/system.ftpserver/security/requestfiltering
FTP 请求筛选所能筛选的内容包括:
元素名称 |
描述 |
文件扩展名 |
列表指定 FTP 服务将允许或拒绝其访问的文件扩展名。 |
隐藏段 |
列表指定 FTP 服务将拒绝其访问,且将不在目录列表中显示的隐藏段。 |
拒绝的 URL 序列 |
列表指定 FTP 服务将拒绝其访问的 URL 序列。 |
命令 |
列表指定 FTP 服务将允许或拒绝其访问的 FTP 命令。 |
请参考 : http://technet.microsoft.com/zh-cn/library/dd851560.aspx
在这里, 我们主要是利用FTP 请求筛选功能来过滤某一个FTP的命令, 以此来拒绝用户下载文件.
通过实验, 用户在通过GET命令下载文件时, FTP日志中记录的是RECV命令. GET命令和RECV命令是几乎等价的命令. 用来将远端(FTP)上的文件COPY到本地.
请参考 :
http://technet.microsoft.com/library/bb490655.aspx
http://technet.microsoft.com/library/bb490675.aspx
步骤
1. 以管理员的身份进入IIS管理器.
2. 展开您需要管理的FTP网站.
3. 在右侧的feature view中, 双击 “FTP Request Filtering”.
4. 点击”Commands”选项卡.
5. 点击右侧Action Pane的”Deny Command”.
6. 在弹出对话框中输入 “RETR”. 点击OK.
使用FileZilla在进行测试这些配置.
1. 通过FileZilla上传一个测试用的文件test.txt
2. 在下载文件的时候, 当执行到RETR命令时, 该请求会被拒绝.
希望以上内容对您有所帮助
Sonic Guo
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述