什么是"Microsoft Office Protocol Discovery"和"OfficeLiveConnector"以及为什么他们访问无效的URL?

Spl*_*iFF 53 ms-office

我在我的网站上密切监视404s,这有助于我检测断开的链接和黑客攻击但我最近在用户代理中从这些字符串的浏览器中获取了日志垃圾邮件.他们似乎试图扫描有效资源的父目录,但由于SEO重写,目录对我的网站有特殊意义.

在我决定如何处理之前,我想知道这些UA正在尝试做什么以及为什么.如果它只是"噪音"我会很乐意完全放弃连接,否则如果他们做了一些有用的事情,我可以提供适当的回应.

我相信有些要求来自我的客户,所以我不能做任何太多破坏性的事情,就像我想的那样.

bmm*_*m6o 27

Microsoft有一篇kb文章详细介绍了Protocol Discovery.本质上,Office正在尝试确定您的服务器是否支持WebDAV(或类似的东西),以便用户对Office文档所做的更改可以直接推送回服务器.

  • 根据我的经验,他们使用浏览器(不一定是IE)下载文档,浏览器启动该文档类型的注册处理程序.然后是Office本身正在进行额外的查询.您应该在日志中看到这一点. (5认同)

Fré*_*ric 12

在我必须维护的服务器上,这似乎是由于使用我们服务器上托管的外部图像的html电子邮件而发生的.

它看起来像Microsoft Office Outlook客户端,它使用Microsoft Word编辑电子邮件(以及自2007年版以来查看它们),触发那些"Microsoft Office Protocol Discovery"请求.

在我的情况下,网站没有任何在线贡献,我认为这是恼人的噪音.如果您的站点是某种具有文档编辑功能的共享站点,则您可能不会将这些请求视为恼人的噪音,具体取决于您的站点实施.


jak*_*bdo 6

这对我有用:

# Intercept Microsoft Office Protocol Discovery
RewriteCond %{REQUEST_METHOD} ^(OPTIONS|PROPFIND)$ [NC]
RewriteCond %{HTTP_USER_AGENT} ^Microsoft\ Office\ Protocol\ Discovery [OR]
RewriteCond %{HTTP_USER_AGENT} ^Microsoft\ Office\ Existence\ Discovery [OR]
RewriteCond %{HTTP_USER_AGENT} ^Microsoft\-WebDAV\-MiniRedir.*$
RewriteRule .* - [R=501,L]
Run Code Online (Sandbox Code Playgroud)


小智 6

我假设您的网站偶尔提供办公文档 - 这通常是这个问题的根本原因.你可以通过告诉办公室不要试图找出是否可以保存来避免这些电话.

这可以通过修改服务的office文档中的Content-Disposition标头来完成.当它被设置为时,我遇到了这个问题:

Content-Disposition=inline; filename="<my file name>"
Run Code Online (Sandbox Code Playgroud)

通过将其更改为附件,可以避免呼叫:

Content-Disposition=Attachment; filename="<my file name>"
Run Code Online (Sandbox Code Playgroud)


小智 5

我托管一个常规的非WebDAV非SharePoint网站.由于Microsoft Office Protocol Discovery,我在日志文件中看到来自失败请求的许多错误.为了消除这些,我建议通过禁用它使用的HTTP方法来禁用WebDAV样式请求,从OPTIONS开始.这还通过避免某些HTTP攻击来提高安全性.

我使用的是Apache 2.4,我在httpd.conf中推荐以下内容:

<Location />
    # block HTTP methods: OPTIONS PUT DELETE TRACE CONNECT PATCH
    AllowMethods GET POST HEAD
</Location>
Run Code Online (Sandbox Code Playgroud)

请参阅Apache 2.4参考

  • 请注意,这些动词除了WebDav之外还有其他用途.休息API需要其中的大部分.[CORS](http://www.w3.org/TR/cors/)需要`OPTIONS`动词.(向其他站点的页面提供内容的站点(通过ajax)需要支持CORS.) (10认同)