Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Basic Auth防止通过Apache服务器下载Word、Excel文档时出现另一个登录对话框?_Apache_Ms Office - Fatal编程技术网

如何使用Basic Auth防止通过Apache服务器下载Word、Excel文档时出现另一个登录对话框?

如何使用Basic Auth防止通过Apache服务器下载Word、Excel文档时出现另一个登录对话框?,apache,ms-office,Apache,Ms Office,我有一个在windows服务器上运行的前端apache服务器。 系统是用NTLM或BASIC Auth设置的(两者的问题相同)。 从MS Word或Excel文档下载可以在所有浏览器中正常工作 如果我使用Internet Explorer下载office文档,则下载文档会请求另一个url。 查看apache访问日志,我发现有一些带有选项和PROPFIND的请求 因此,我使用以下方法修改了配置: <Location /latest> <Limit OPTIONS PR

我有一个在windows服务器上运行的前端apache服务器。 系统是用NTLM或BASIC Auth设置的(两者的问题相同)。 从MS Word或Excel文档下载可以在所有浏览器中正常工作

如果我使用Internet Explorer下载office文档,则下载文档会请求另一个url。 查看apache访问日志,我发现有一些带有选项和PROPFIND的请求

因此,我使用以下方法修改了配置:

  <Location /latest>
    <Limit OPTIONS PROPFIND>
      deny from all
    </Limit>
  </Location>

全盘否定
到目前为止,这是可行的,但在Office2010中,我再次遇到了这个问题

在网上搜索时,我发现了这篇文章: 因此,我不必发送403(我猜是拒绝所有发送403),所以我必须发送405

我可以这样做吗?这是正确的吗

  <Location /latest>
    <Limit OPTIONS PROPFIND>
      redirect 405
    </Limit>
  </Location>

重定向405

最后,我发现这是正确的配置。 说到这里,我还必须明确指出,我有时在后台Web服务器(IIS 7)中设置身份验证,有时在Apache中设置身份验证(取决于客户情况)

一,。 由于Apache是我的前端代理,而后端服务器是IIS7,因此当IIS7进行身份验证时,这起到了作用:


禁用对选项和PROPFIND谓词的支持–如果web应用程序不打算用于WebDAV,则可以在运行IIS的默认服务器上将提供WebDAV功能的web服务扩展设置为禁止。(这可能是WebDAV或FrontPage服务器扩展。)如果站点通过另一个扩展提供WebDAV功能,则应涉及该扩展的提供商。例如,要使用Windows SharePoint Services(WSS)执行此操作,应将站点配置为禁用客户端集成,或者应禁用选项和PROPFIND谓词。(在IIS 6上,从web.config文件的注册行中删除谓词。在IIS 7.0上,使用请求筛选功能的HTTP谓词选项卡拒绝谓词。)请注意,此方法将以只读模式打开内容,因为此方法禁用直接编辑功能


发件人:

因此,我为动词设置了内容过滤器,然后它最终对我来说运行良好

二,。 然后,我在Apache中使用NTLM Auth进行了测试。 当Apache进行自我验证时,我的原始配置运行良好

因此,我只是遇到了混合行为的问题:)

**编辑** 对于IIS web.config,这应该可以工作:

<system.webServer>
  <security>
    <requestFiltering>
      <verbs applyToWebDAV="false">
        <add verb="OPTIONS" allowed="false"/>
        <add verb="PROPFIND" allowed="false"/>
      </verbs>
    </requestFiltering>
  </security>
</system.webServer>


我面临着类似的问题,但我有IIS,没有Apache。正在尝试在IIS web.config中查找相同的等效项。有人吗?找到一个旧帖子,也许这对你有帮助:。他们的关键是UrlScan,似乎要过滤PROPFIND关键字。所以它应该是sam eon IIS7 ff。我可以用配置文件拒绝选项和PROPFIND,但服务器会用PROPFIND的404状态码响应,我会得到身份验证对话框。。。是的,我正在使用Office 2010,就像你的情况一样。你的项目中有web.config文件吗?我修改了答案并添加了一个示例配置。