《2018年2月28日》【连续141天】
标题:core java10.2;
内容:
1.沙箱:
简单来说,就是java中,对java web start的应用程序访问的保险措施:
因为当访问一个网页时,其中的applet会全部启动,为了防止其中的代码产生安全威胁:
远程代码仅被允许:显示图像,播放音乐,读取用户的键盘输入和鼠标输入,以及将输入送回加载代码所在的主机;
具体限制:
a.不能运行任何本地的的可执行程序。
b.不能从本地计算机文件系统中读取任何信息,也不能往本地计算机文件系统中写入任何信息。
c.不能查看除Java版本信息和少数几个无害的操作系统详细信息外的任何有关本地计算机的信息。特别是,在沙箱中的代码不能查看用户名、E-mail地址等信息。
d.远程加载的程序不能与除下载程序所在的服务器之外的任何主机通信,这个服务器被称为源主机(originating host)。这条规则通常称为“远程代码只能与家人通话”这条规则将会确保用户不会被代码探查到内部网络资源(在Java SE 6 中,Java Web Start 应用程序可以与其他网络连接,但必须得到用户的同意)。
2.签名代码:
当我们想某个Web Start程序或qpplet访问本地文件时,这个JAR文件必须进行数字签名;
当Java Web Start接收到某个应用程序时,会进行如下确认:
1)代码确实被签名,且没有被第三方破坏;
2)确实由。。。签名;
3)证书由。。。签发;
3.JNLP API:
JNLP API允许未签名的应用程序在沙盒条件下运行,同时通过一种安全途径访问本地资源;
当需要一些加载文件的服务时,首先弹出警告,如果用户同意就可以弹出一个文件对话框,让用户选择文件;