【问题标题】:Is there any way block or detect files upload via web browser?有没有办法阻止或检测通过网络浏览器上传的文件?
【发布时间】:2017-09-15 00:53:38
【问题描述】:

我正在设计一个代理服务器来阻止用户提出的文件上传或下载请求。 有什么方法可以检测 HTTP/HTTPS 标头中的文件上传或下载请求 URL?

我尝试在 HTTPS 标头中使用 content-type=octet-stream,但无法正常工作:

foreach (var header in eventArgs.WebSession.Request.RequestHeaders) { 
    string value;

    if (header.Key.Equals("Content-Type")) {
        if (header.Value.Value.Contains("octet-stream")) await eventArgs.Ok("");
    }
}

eventArgs 包含会话信息,如请求、响应等。

【问题讨论】:

  • 你试过什么?
  • 我尝试在 HTTPS 标头中使用 content-type=octet-stream,但不起作用
  • 分享代码。
  • foreach (var header in eventArgs.WebSession.Request.RequestHeaders) { string value; if (header.Key.Equals("Content-Type")) { if (header.Value.Value.Contains("octet-stream")) await eventArgs.Ok(""); } }
  • eventArgs 中包含会话信息,如请求、响应等

标签: c# .net


【解决方案1】:

我会检查Content-Disposition 标头并解析文件名指令。该指令是

后跟一个包含文件原始名称的字符串 传送

在多部分/表单数据提交中

【讨论】:

  • 但如果我们要在 google drive 或 dropbox 上上传文件,他们不会使用 content-type="multipart/form-data" 和 Content-Disposition 标头。我使用 fiddler 跟踪 http/https 请求,但在 google drive/dropbox 上上传时没有找到此信息。
猜你喜欢
  • 2017-06-08
  • 2013-10-29
  • 2021-11-18
  • 2011-02-09
  • 1970-01-01
  • 2017-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多