东坡下载:内容最丰富最安全的下载站!

首页编程开发Java → servlet域名通讯时与applet的安全问题分析

servlet域名通讯时与applet的安全问题分析

相关文章发表评论 来源:本站时间:2011/4/28 12:48:15字体大小:A-A+

更多

作者:点击:961次评论:2次标签:

web应用中的一个jsp页面的applet需要与服务器端的servlet通讯,直接ip,159.226.2.133,访问这一web应用的jsp页面,applet与servlet间的通信没问题。
但我通过域名,如http://www.abc.com来访问这一应用,调用jsp页面时,applet会报如下错误:
access denied (java.net.SocketPermission 159.226.2.133:80 connect,resolve)
java.security.AccessControlException: access denied (java.net.SocketPermission 159.226.2.133:80 connect,resolve)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkConnect(Unknown Source)
at sun.plugin2.applet.Applet2SecurityManager.checkConnect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)

也就是说applet与后台servlet连接时是通过ip连接的,而applet现在是出于域名环境下,这样就造成了applet跨域访问,破坏java安全性的情况。
从网上搜索,大家一般都是在客户端jre中做些修改,或进行数字签名,来解决applet跨域访问问题。

大家有什么办法能避免造成applet跨域访问呢,因为实际上applet和web应用都是在一个环境下的,只是由于将这一应用放在了域名下,造成这种问题的

现在getHost()方法是能够获得域名的,但不知道为啥连接时applet总报上面提到的applet安全问题

相关评论

阅读本文后您有什么感想? 已有 人给出评价!

  • 2791 喜欢喜欢
  • 2101 顶
  • 800 难过难过
  • 1219 囧
  • 4049 围观围观
  • 5602 无聊无聊
热门评论
最新评论
昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
字数: 0/500 (您的评论需要经过审核才能显示)

本类常用软件