从“为什么不能直接翻开PDF文件”提到“脚本***”51CTO博客 - 乐橙lc8

从“为什么不能直接翻开PDF文件”提到“脚本***”51CTO博客

2019年03月31日13时29分32秒 | 作者: 曜栋 | 标签: 翻开,文件,直接 | 浏览: 1279

先从一个简略的问题说起。

前两天在网上,有网友问我这样一个问题:“上载到SharePoint 2010文档库中的一个PDF文件,当直接点击此文件链接时,为什么浏览器弹出的对话框只要保存,而没有翻开?”

就像上面的截图所显现的,在浏览器弹出的对话框上,只能让用户保存(Save)的选项,而没有一个翻开(Open)的选项。但可能有人会记住,曾经SharePoint 2007的时分,并不是这样的。用户直接点击一个存放在SharePoint 2007文档库里边的PDF文件时,浏览器会提示用户,能够直接翻开它,然后本地装置的PDF Reader就会直接翻开这个PDF文件,开端阅览。

先说处理这个问题的办法。翻开SharePoint 2010办理中心,办理Web应用程序,挑选一个Web应用程序,点击Ribbon区域的“惯例设置”,然后在弹出的设置对话框中,将“浏览器文件处理程序”这个设置项从默许的“严厉”,修正为“答应”。

搞定!你会发现修正了这个设置之后,浏览器会从头显现出“翻开”选项,让用户能够直接翻开PDF文件。

好了,假如你只是想处理这个问题,能够不必持续往下阅览了。

嗯,想知道为什么?好吧,这便是原因。从头将Web应用程序惯例设置中的“浏览器文件处理程序”设置项改回默许的“严厉”。翻开文档库,这次在点击PDF文件链接之前,翻开浏览器的Developer Tools(在IE浏览器中是经过F12翻开它,下面将运用IE浏览器做比方,FireFox和Chrome也有各自的相似东西能够运用)。在“Network”选项卡中点击“Start capturing”按钮,它会捕获当时浏览器窗口与服务器之间的一切网络通信。然后,点击那个PDF文件链接。

在“Network”选项卡里边,找到用户点击PDF链接时所发生的网络恳求,双击它,就能够看到这次恳求的一切具体的Request和Response信息。点击“Response headers”选项卡,就能够看到从SharePoint 2010服务器所回来的HTTP头信息。嗯,如下图所示,你会看到一个风趣的头信息,“X-Download-Options = noopen”。

便是这个HTTP头信息,通知浏览器:“不要直接翻开这个文件,不要给用户显现出翻开选项!”

当咱们在SharePoint 2010办理中心里边,将Web应用程序的“浏览器文件处理程序”设置项从默许的“严厉”修正为“答应”时,SharePoint 2010服务器就会中止在HTTP头里边增加这个头信息,所以,浏览器又会答应用户直接翻开文件了。

SharePoint 2010默许会制止浏览器直接翻开一切存放在文档库中的任何文件,办法便是向回来给浏览器的HTTP头信息中增加那个额定的metadata。为什么当用户点击Office文档的时分,仍然会主动翻开本地的Office程序,翻开Office文档呢?这其实是因为页面上的脚本会调用OpenDocuments这个ActiveX控件,由它来发动客户端的Office程序,翻开Office文档。

SharePoint 2010为什么这么做?原因便是为了更好的安全性。因为SharePoint通常会答应非网站办理员上载文件到文档库里边,所以让浏览器随意翻开这些用户上载的文件,实际上是一件十分风险的工作。在最严峻的情况下,这会给歹意用户供给施行脚本***的缝隙,乃至引发跨站点脚本***。比方,一个只是具有Contributor(参加评论)人物的用户,可能会上载一个扩展名是.docx,但实际上的确一个含有歹意脚本的.html文件,到文档库中。当办理员测验翻开这个“Word文档”时,浏览器可能会测验直接翻开它,并无意中运转那个文件中所包括的脚本。

当然,除了制止用户直接在浏览器中翻开文档库中的文件之外,SharePoint 2010还在网站的安全性上做了其他一些增强。比方,Contributor现在不能直接上载一个页面文件到Pages(页面)库中,而只能经过Pages库内置的“创立页面”功用,来新建页面。又比方,经过在web.config的<SaveControl>节点中增加“SafeAgainstScript”和“RequiresDesignerPermission”特点,系统办理员能够制止Contributor修正Web部件的特点。当然,这些又是别的一个话题了。

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表乐橙lc8立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章