首页 > 其他分享 >ppapi,npapi

ppapi,npapi

时间:2022-12-26 14:34:17浏览次数:46  
标签:插件 npapi 浏览器 Flash Player ppapi NPAPI PPAPI

PPAPI也就是Pepper Plugin API,是在原有网景NPAPI(Netscape Plugin API)基础上发展而来的。
NPAPI是当今最流行的插件架构,几乎所有浏览器都支持,不过存在很大的安全隐患,插件可以窃取系统底层权限,发起恶意攻击。
2010年,Google开发了新的PPAPI,将外挂插件全部放到沙盒里运行,2012年Windows、Mac版本的Chrome浏览器先后升级了PPAPI Flash Player,并希望今年底之前彻底淘汰NPAPI。
现在,所有使用PPAPI接口的基于Chromium的浏览器都可以用上新版Flash Player了,但是注意Google Chrome并不需要、也不使用这种新的安装程序。
据体验过PPAPI Flash Player的用户称,它的CPU和内存占用率会比较高,主要是因为缓存大多放在内存里而不是硬盘上,还请注意。

PPAPI:供Opera (15以上)、Chromium(开源谷歌)浏览器使用

NPAPI:供FireFox(火狐)、Safari(苹果)、Opera (12.**以下)使用

对于双核浏览器,比如360、QQ、UC浏览器等等,NPAPI 和 PPAPI 都可以使用。

哪 个好,装哪个,取决于你用哪些浏览器

ActiveX则供Internet Explorer以及一些本地flash播放器或客户端使用,对于windows电脑,只要flash存在,这个插件几乎就是装机必备。

     

请问PPAPI是否可以完全替代NPAPI?主要是对一些第三方驱动DLL的API访问是否和NPAPI一样呢?

如果不能的话,是否有一些不被Chrome干掉但是依然可以使用的方案呢?
最近NPAPI也终于要被毙了,到时候类似与网上银行U盾,或者某些特定硬件需要被网站访问的还有替代方法么?   不可以,ppapi不能调用系统api,只能调用他提供的借口,与本地交互可以使用natviemessage。但是前提是在插件里使用,网页上不能调用,napai就是权限太大了,所以造成了浏览器的瓶颈。单就Chrome而言,我觉得应该是可以完全替代的,但是像FF等浏览器不支持PPAPI啊,这个比较麻烦。同关注,npapi时,可以通过插件调用本地的应用程序,例如usbkey的驱动程序;ppapi貌似无法做到。难道现在各大银行、网站的安全插件(NPAPI),取代方案只有NACL了嘛?它对一些防键盘钩子、win API 调用都能支持吗?    

PPAPI也就是Pepper Plugin API,是在原有网景NPAPI(Netscape Plugin API)基础上发展而来的。

NPAPI是当今最流行的插件架构,几乎所有浏览器都支持,不过存在很大的安全隐患,插件可以窃取系统底层权限,发起恶意攻击。

2010年,Google开发了新的PPAPI,将外挂插件全部放到沙盒里运行,2012年Windows、Mac版本的Chrome浏览器先后升级了PPAPI Flash Player,并希望今年底之前彻底淘汰NPAPI。

现在,所有使用PPAPI接口的基于Chromium的浏览器都可以用上新版Flash Player了,但是注意Google Chrome并不需要、也不使用这种新的安装程序。

据体验过PPAPI Flash Player的用户称,它的CPU和内存占用率会比较高,主要是因为缓存大多放在内存里而不是硬盘上,还请注意。

             

Adobe Flash Player ActiveX与PPAPI与NPAPI有什么区别?用哪个好?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:10-19 15:59:59 我要评论

电脑里有三个adobe flash软件,Adobe Flash Player ActiveX与PPAPI与NPAPI这三个有什么区别?用哪个好呢?今天脚本之家小编就给大家详细的说说这三款软件的区别之处,还在纠结留哪个的朋友可以看看  

Adobe Flash Player PPAPI,Adobe Flash Player NPAPI,Adobe Flash Player ActiveX三者有什么区别?我们在打开网页视频时有时会弹出没有安装Flash插件的提示,此时就无法观看视频,想必很多小伙伴都遇到过这种情况。Adobe Flash Player是浏览器显示Flash动画必装的控件程序,它可以跨屏幕和浏览器原汁原味地查看具有表现力的应用程序、内容和视频。那么,电脑里有三个adobe flash软件,留哪个?Adobe Flash Player ActiveX与PPAPI与NPAPI有什么区别呢?我们一起去了解一下!

软件名称:
flashIE控件 Adobe Flash Player ActiveX for IE v11.5.502.131Final官方版(64bit)
软件大小:
8MB
更新时间:
2012-11-28
软件名称:
Adobe Flash ppapi插件(chrome内核插件) V27.0.0.159 官方最新版
软件大小:
19.3MB
更新时间:
2017-10-19

Adobe Flash Player ActiveX与PPAPI与NPAPI的区别:

Adobe Flash Player PPAPI是Adobe Flash Player专为chrome内核而开发的,能够在各种浏览器、操作系统和移动设备上使用,软件短小精悍,功能强大,兼容性高。它使公司和个人能够构建并带给最终用户美妙的数字体验,使您能够在将交互式、丰富内容与视频、图形和动画组合到一起的Web上享受最富表现力的、引人入胜的体验。

NPAPI是当今最流行的插件架构,由网景开发后Mozilla维护,几乎支持所有的浏览器,不过它存在很大的安全隐患,插件可以窃取系统底层权限,发起恶意攻击。

2010年,Google在原有网景NPAPI(Netscape Plugin API)基础上开发了新的PPAPI(Pepper Plugin API),将外挂插件全部放到沙盒里运行,2012年Windows、Mac版本的Chrome浏览器先后升级了PPAPI Flash Player,并希望今年底值钱彻底淘汰NPAPI。

PPAPI的flash相较于NPAPI来讲,内存占用更大,因为全在沙盒里面运行,而且flash每次更新基本上都是修补安全漏洞。

下面小编主要给大家讲一下,三种flash分别针对哪种市面上常用的浏览器

PPAPI:供Opera (15以上)、Chromium(开源谷歌)浏览器使用

NPAPI:适用于FireFox(火狐)、Safari(苹果)、Opera (欧朋,12.17版以下)

关于NPAPI和PPAPI:你用360浏览器,NPAPI和PPAPI也并非毫无用处,不能说绝对不用安装。比如,尽管360浏览器自带flash player,但是想要更新这个集成的flash player通常是要升级浏览器的,但是假如你不想升级浏览器版本,却又要更新它集成的flash player以避免过期,那怎么办呢,这时你可以借助于系统中安装的NPAPI和PPAPI来实现,具体你在360浏览器地址栏输入chrome://plugins回车,点右上方+详细信息,找到Adobe flash player,研究一下类型和版本,停用哪个启用哪个,人为设置一下即可。

ActiveX:适用于Windows 7、Vista、XP系统IE内核浏览器、本地视频、游戏客户端

关于ActiveX:360安全浏览器是双核,含有IE,在兼容模式下有时需要ActiveX;另外,本地安装的游戏、视频客户端,也需要使用ActiveX,总之Windows 7、Vista、XP系统,即使不用IE浏览器,ActiveX也是有必要安装的。

一般而言,对于双核浏览器,比如360、QQ、UC浏览器等等,NPAPI 和 PPAPI 都可以使用。

哪个好,装哪个,取决于你用哪些浏览器

只有正确的安装flash才能更好的体验使用它哦。好了,以上就是关于Adobe Flash Player ActiveX与PPAPI与NPAPI有什么区别?用哪个好的全部内容,这三种flash你了解了吗?更多精彩内容,请继续关注脚本之家网站!

ActiveX:适用于Windows 7、Vista、XP系统IE内核浏览器、本地视频、游戏客户端
NPAPI:适用于FireFox(火狐)、Safari(苹果)、Opera (欧朋,12.17版以下)
PPAPI:适用于Chromium浏览器、Opera (欧朋,15.00版以上)

 
     
  1. 关于ActiveX:

  1. 360安全浏览器是双核,含有IE,在兼容模式下有时需要ActiveX;另外,本地安装的游戏、视频客户端,也需要使用ActiveX,总之Windows 7、Vista、XP系统,即使不用IE浏览器,ActiveX也是有必要安装的。

  2. 关于NPAPI和PPAPI:

    你用360浏览器,NPAPI和PPAPI也并非毫无用处,不能说绝对不用安装。比如,尽管360浏览器自带flash player,但是想要更新这个集成的flash player通常是要升级浏览器的,但是假如你不想升级浏览器版本,却又要更新它集成的flash player以避免过期,那怎么办呢,这时你可以借助于系统中安装的NPAPI和PPAPI来实现,具体你在360浏览器地址栏输入chrome://plugins回车,点右上方+详细信息,找到Adobe flash player,研究一下类型和版本,停用哪个启用哪个,人为设置一下即可。



flash player PPAPI 它的CPU和内存占用率会比较高,主要是因为缓存大多放在内存里而不是硬盘上。如果内存不够用就用flash player NPAPI版的会比较好。
NPAPI是当今最流行的插件架构,由网景开发,后Mozilla维护,几乎所有浏览器都支持,不过存在很大的安全隐患,插件可以窃取系统底层权限,发起恶意攻击。

2010年,Google在原有网景NPAPI(Netscape Plugin API)基础上开发了新的PPAPI(Pepper Plugin API),将外挂插件全部放到沙盒里运行,2012年Windows、Mac版本的Chrome浏览器先后升级了PPAPI Flash Player,并希望今年底值钱彻底淘汰NPAPI。



按照我的理解(有误请不吝指出),NPAPI是用native code写browser的plugin,和ActiveX类似,而和用javascript/css写的plugin相对。网银什么的一般用这个配合自己的本地操作系统驱动来实现安全密码输入(防key logger)之类的事情。

因此不是很明白提问中所说的“浏览器与'插件'间的数据通信”具体所指为何。猜测一下,莫非原意是问“浏览器和本地应用/驱动间的数据通信”?

如果只是为了性能或者重用旧代码之类的原因必须使用native code写plugin(游戏什么的),Chrome的解决方案是Portable Native Client(故意缩写为NaCl,食盐): Technical Overview。PNaCl运行经过校验的native code,因此可以做到兼顾安全性和性能。PNaCl提供一套受限制的API(例如OpenGL ES之类),不提供TCP/UDP,要通信也要使用websocket之类的机制


是在没看懂楼主想问啥。NPAPI 跟 websocket 没啥必然联系吧。
NPAPI 是浏览器的应用编程接口,它提供了一组 API 供浏览器调用其具体实现代码。
其生命周期看可能与整个浏览器生命周期相同(这要看具体plugin实现了)。
NPAPI 可以与本地系统用户权限一致的权利调用任何系统资源。这就打穿了浏览器沙箱环境。因此身存在着一定的安全隐患。
如,NPAPI 的插件代码肆意调用系统资源导致死机、代码存在漏洞被系统内其他恶意程序利用等。
网银之类的 NPAPI(如果真的有很多的话 = =|||) 同理也是使用此类技术,在用户本地使用本地应用(dll 或其他编译好的程序)计算、加密、通过安全(网络)获取用户所需证书、密码等关键信息。一旦存在漏洞,也很容易被本地的第三方应用程序利用。
Chrome 的 NACL 与之类似,但是将安全性加高。 NACL 根据 Technical Overview 描述,是运行在独立沙箱内,并限制:
  • no support for hardware exceptions
  • no support for process creation / subprocesses
  • no support for raw TCP/UDP sockets (analogous versions—websockets for TCP and peer connect for UDP—are in the works and will be available soon)
  • no support for query to available memory
由此来提高 plugin 的整体安全度和稳定性。
至于 websocket …… 偶真不知道跟 NPAPI 的替代有啥关系,要有关系也是包含关系吧。如: NPAPI 的替代技术实现里不限制在沙箱环境内使用 websocket 技术访问网络资源啥的。

PPAPI(Pepper)是来自Mozilla的,本意是跨平台封装需要用到的所有本地API,意图作为NPAPI的后继。但现在 Mozilla坑掉 只有 Google在搞 了。
Mozilla 扔掉Pepper的原因看起来也很简单:它更希望HTML5标准化来解决一切。比如用WebGL来取代Pepper的OpenGL/ES封装。PPAPI作为本地API的封装(而不是NPAPI一样仅仅提供接口),本身就需要一个“到底要封装什么”的规范,而这个规范的形成过程跟HTML5的标准化在某种意义上差不多是重合的。作为希望HTML5尽快、尽全面覆盖的Mozilla(他们甚至为了阻击NaCl制造了asm.js)选择全力支持HTML5是很自然的事情。
至于前几个答案多次提到的NaCl/PNaCl(区别是前者的可执行部分就是本地CPU代码,而后者的可执行部分是LLVM IR),它跟PPAPI不能分开去看,这两者目前是一而二二而一的关系,都是Google独占。至于为啥Google作为HTML5领军厂商却分神去做这个东东,我想应该是被前景诱惑了吧。LLVM IR是可以通过JIT在运行时转本地代码执行的,结合PPAPI作为封装过的本地API,假设一切都能解决,那么将既能做到「一次编译,到处运行」,又可以在所有平台上都达到本地开发的性能,简直就是Silver Bullet一样的存在……不过实际上达到这个效果要求LLVM JIT效率进一步真正提高到本地代码的速度(09年看评测很多特定测试在性能上已经可以达到甚至超过本地代码,但也有不少更慢的),也要求对所有平台都封装好需要的各种API,需要的开发力量相当庞大。这些年Google纵横捭阖,借着准备HTML5标准化的名义里在各平台的Chrome浏览器里大肆封装各种看起来用得上用不上的API(毕竟Pepper封装后提供一个js接口是再简单不过的了)我觉得从这个角度看上去就很容易理解了。
总结:HTML5+asm.js和Pepper+PNaCl,这就是该新闻中传出要抛弃NPAPI的两大巨头各自给出的选择。前者暂时拥有时间,后者也许拥有未来。至于哪个最终会胜出,还是让历史来说话吧。




替代品是PPAPI,NPAPI在我看来最大的缺点是平台相关性太大,特别是图形相关的部分,和浏览器所处的系统和使用的窗口管理器息息相关,跨平台基本上是扯淡。
来自chromium项目的PPAPI致力于解决这些问题,而且还提供了更加丰富的接口,如近似于OpenGL的3D接口,使大型网页游戏这种应用也能通过插件的方式获得很好的效能。另外Mozilla的Gecho也已经支持PPAPI,天下大同指日可待。
有人提到NaCL,实际上也只是一个使用PPAPI接口的超级插件,手机输入太费事,就不展开说了。另外websocket与这些接口并无直接联系。 PPAPI里不能直接调用本地借口只能通过自身的API间接调用,所以并不适合,比较实际的方式使用nativemessaging,这个比较合适

标签:插件,npapi,浏览器,Flash,Player,ppapi,NPAPI,PPAPI
From: https://www.cnblogs.com/kn-zheng/p/17005731.html

相关文章

  • TE对NPAPI的支持
    NPAPI,就是指网景插件应用程序接口(NetscapePluginApplicationProgrammingInterface),是一种外部程序作为插件和浏览器共同完成网页展示的调用通道。插件就相当于运行在网页......