Google将放弃支持NPAPI的插件
来源:互联网 发布:大屏幕滚动抽奖软件 编辑:程序博客网 时间:2024/05/20 13:05
问题:
Google Chrome的最新v42版本终于如其官方blog所说的,发布的同时,将NPAPI(Netscape Plugin Application Programming Interface)的支持设置为默认关闭。虽然,Google早就宣称要在其主流的浏览器中放弃对NPAPI的支持,从前说在2014年底,后来推迟到了了2015年的9月,不过,似乎从来没有被业界像现在一样的重视,因为很多企业应用还都是严重依赖于NPAPI标准的插件,比如Java, 微软的SilverLight,以及Outlook的webmail的文件对话框, Unity等等。如果你的Chrome浏览器开启了自动更新,那么,很有可能它已经被自动升级到了42.
已经有软件厂家采取了行动,比如最新的Flash Player就可以支持PPAPI。但是很少厂家跟进,况且PPAPI并没有被, 除了Chrome和Opera, 其它的浏览器所采用。
虽然说,NPAPI确实是个有点老的技术,它最开始是1995年Netscape Navigator 2.0中启用的,想来20年了。不过在大家没有准备好的时候,就发生了,作为企业来说,有时换轨的步伐没有想象的那么快,需要时间和耐心。
手动:
用户可以什么也不用做,每当在搜索栏中有提示的时候,准许运行就可以,或者如果希望避免那个安全提示,可以在Chrome的地址栏中输入:chrome://flags/#enable-npapi,然后就打开NPAPI就可以了,见下图。
部署
我们这里看来问题虽然表面上不太严重,可是这会导致我们重新考虑我们的两个操作系统平台每个都有两个浏览器支持的策略,目前,IE和Chrome是Windows平台的,Safari和Chrome是Mac平台的。那么是否考虑引入第三者FireFox或者是替换掉Chrome?这还是一个疑问。可能你的企业也面临类似的问题,那么如何让最终用户最小限度地受到影响将是对我们管理员的一个考验。
还好,Chrome与生俱来的支持定制Policy,所以我们可以利用它来部署我们的策略。顺便说一下FireFox也在不予余力地使FireFox支持企业管理和Policy的定制。
对于Windows, 可以使用组策略来部署,详细步骤详见后面的参考资料Windows Quick Start。
对于Mac来说,Google Chrome程序本身已经包含了Policy的模板,在"Google Chroome/Content/Resources/com.google.Chrome.manifest"中,这个模板适合于在Workgroup Manager中部署到OS X server所管理的网络客户端中,具体的步骤可以参考下面的Mac Quick Start。
下面我们主要参考下主要技术细节,其实相关的Plist文件可以使用下面的示例:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>AllowOutdatedPlugins</key><true/><key>AlwaysAuthorizePlugins</key><true/><key>DefaultBrowserSettingEnabled</key><true/><key>DefaultPluginsSetting</key><integer>1</integer><key>DeveloperToolsDisabled</key><true/><key>DisabledPluginsExceptions</key><array><string>*Java*</string><string></string></array><key>EnabledPlugins</key><array><string>*</string></array><key>ForceGoogleSafeSearch</key><true/><key>SafeBrowsingEnabled</key><true/></dict></plist>
其实最主要的设置是,EnabledPlugins,参考后面的"EnabledPlugins"的文档
<key>EnabledPlugins</key><array><string>*</string></array>
本blog后面列出了一些其他的Policy参数,可能对于其他的企业环境有用。
其它
Firefox Nightly and Aurora 实现的沙盒技术,可以让用户打开沙盒并支持NPAPI,在地址栏输入about:config后,查找plugins.sandbox, 并改动设置为True即可。
其他的诸如Opera等浏览器也会跟进。
后记
上面的规避方法,都不是解决方案,只能时权益之计,9月之后估计就会被Chrome完全屏蔽,或者你只使用老版本。
Java: Java也老了嘛?可能是也可能不是,不过看上去浏览器中的Java可能真的会成为过去式了。后续发展,这要看Oracle的决定。
老技术总要被淘汰,更何况一个会带来安全风险的技术,所以Plugins已经死了,HTLM5等现代技术是未来。
诚然,我们都知道NPAPI的确老了,应该退休了,不过众多厂家似乎对此没有及时采取积极的措施,这中拖沓在被公认为快速发展的IT界,似乎看上去有点另类,令人困惑不解,看看上榜的软件,是IT界的大佬MS,Oracle等,它们曾经是IT的领航者,引领世界的潮流,另无数精英为之雀跃追逐,虽然本文中所讲的是一个小小的技术问题,不过,如果你对IT界有所宏观了解,面对新新技术层出不穷的活跃市场,你是否有种感觉,这些巨头们有点固步自封呢?
参考:
AllowOutdatedPlugins: https://www.chromium.org/administrators/policy-list-3#AllowOutdatedPlugins
AlwaysAuthorizePlugins: https://www.chromium.org/administrators/policy-list-3#AlwaysAuthorizePlugins
DefaultBrowserSettingEnabled: https://www.chromium.org/administrators/policy-list-3#DefaultBrowserSettingEnabled
DeveloperToolsDisabled: https://www.chromium.org/administrators/policy-list-3#DeveloperToolsDisabled
DeviceAutoUpdateDisabled: https://www.chromium.org/administrators/policy-list-3#DeviceAutoUpdateDisabled
DeviceBlockDevmode: https://www.chromium.org/administrators/policy-list-3#DeviceBlockDevmode
DisabledPluginsExceptions: https://www.chromium.org/administrators/policy-list-3#DisabledPluginsExceptions
EnabledPlugins: https://www.chromium.org/administrators/policy-list-3#EnabledPlugins
ExternalStorageDisabled: https://www.chromium.org/administrators/policy-list-3#ExternalStorageDisabled
ForceGoogleSafeSearch:https://www.chromium.org/administrators/policy-list-3#ForceGoogleSafeSearch
Windows Quick Start:http://www.chromium.org/administrators/windows-quick-start
Mac Quick Start: http://www.chromium.org/administrators/mac-quick-start
NPAPI deprecation: developer guide: https://www.chromium.org/developers/npapi-deprecation
Mozilla Plugins: https://developer.mozilla.org/en-US/Add-ons/Plugins
Security/Sandbox: https://wiki.mozilla.org/Security/Sandbox
How do I use Java with the Google Chrome browser? https://java.com/en/download/faq/chrome.xml
Java Web Start in or out of the browser: https://blogs.oracle.com/java-platform-group/entry/java_web_start_in_or
- Google将放弃支持NPAPI的插件
- NPAPI插件开发学习:NPAPI的介绍
- NPAPI插件开发学习:NPAPI的介绍
- “插件(application/x-vlc-plugin)不受支持”NPAPI和PPAPI的问题
- “插件(application/x-vlc-plugin)不受支持”NPAPI和PPAPI的问题
- NPAPI插件开发学习:NPAPI和NPRuntime的介绍
- NPAPI插件开发学习:NPAPI的运行流程
- NPAPI插件开发学习:NPAPI和NPRuntime的介绍
- NPAPI插件开发学习:NPAPI的运行流程
- NPAPI插件开发学习:NPAPI和NPRuntime的介绍
- npapi插件开发的阶段性总结
- 开发附带NPAPI插件的Chrome扩展
- 注册表部署firefox的NPAPI插件
- 开发顺带NPAPI插件的Chrome扩展
- 基于npapi框架的浏览器插件开发
- NPAPI插件开发学习:插件的调试(pluginin-container.exe)
- NPAPI插件开发学习:插件中多个dll文件的打包
- NPAPI插件开发学习:Webkit的插件机制
- 对 CNN facial point detection[CVPR2013]一文的实现
- HBase 批量导入测试
- Java学习日记(十二)反射
- 在github上参与开源项目日常流程
- 美国科技大佬成功之前混得都有多惨
- Google将放弃支持NPAPI的插件
- 字符编码笔记:ASCII,Unicode和UTF-8
- SAP IDOC 开发介绍
- leetcode难度及面试频率
- Linux经典书籍推荐
- leetcode中常用的算法简介
- 单源最短路径-迪杰斯特拉算法(Dijkstra's algorithm)
- java Socket双向交互获取输入信息
- Qt5官方demo解析集36——Wiggly Example