在Linux上完成Oracle Java SDK(32位)的全新安装.安装正确,插件已正确安装.
当applet在Firefox中运行时,会出现以下错误("安全设置阻止的应用程序"):
以下是我使用的步骤:
> uname -a
Linux me-VirtualBox 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:12:00 UTC 2013 i686 i686 i686 GNU/Linux
> java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode)
> pwd
/home/me/.mozilla/plugins
> ls -l
total 0
lrwxrwxrwx 1 me me 46 Jan 22 02:42 libnpjp2.so -> /usr/lib/jvm/jdk1.7.0/jre/lib/i386/libnpjp2.so
我将部署我的Java游戏向我的朋友展示它等等,但我在Java Web Start和applets之间做出决定时遇到了麻烦.
在什么条件下优先于另一种情况,有哪些优点/缺点?
我读过WebSockets,但它们似乎不是纯粹的"套接字",因为它们上面有一个应用程序层协议." ws: "
有没有办法从网络浏览器进行纯套接字连接,搞活网页?
这是我在黑暗中的随机刺伤
但是关于HTML5,如果它们不是套接字,为什么它们被称为WebSockets?
websocket协议是如此简单实现,以至于它几乎是"套接字"?
我正在寻找通过HTTPS隧道隧道RDP或其他二进制TCP流量的软件.因为许多客户端只允许HTTP/S(防火墙只打开端口80和443).
但是需要将RDP(和其他协议)从DMZ中的机器转发到客户端.
7
查看大型功能说明
是否有任何类型的开源或企业软件来解决这个问题?
像F5 big ip这样的解决方案存在我必须使用该软件创建连接配置的问题.如果可以通过使用api来实现这一点,那将是一个很好的解决方案.但我宁愿只使用隧道组件而不需要整个网关软件.因为我需要使用自己的软件创建隧道(1000ds),并且需要限制对允许用户的隧道访问(由会话cookie识别)
http://http-tunnel.sourceforge.net/
如果隧道客户端可能不是专用服务器而是客户端浏览器中运行的Flash的Java小程序,那么它将满足我的需求100%.
由于Oracle的最新更改,我似乎必须签署一个applet,即使我不需要或希望它可以无限制地访问用户的计算机(这就是它目前未签名的原因).特别是,我不希望他们为签名的applet显示警告:
此应用程序将以不受限制的访问方式运行,这可能会使您的计算机和个人信息面临风险.
......这将吓唬人们使用它.
是否有可能签署一个小程序,但以某种方式标记它说"但继续使用沙箱"?
我签署它的唯一原因是从版本7更新40开始,Oracle进一步增加了用户在运行未签名的applet时必须处理的唠叨.过去,你可以检查一个信箱,说你曾经信任一个applet,那就会被记住.从Update 40开始,它只记得该浏览器会话; 如果您关闭浏览器并稍后返回,则会再次出现警告.他们还说他们将完全在Java插件的"未来版本"中禁用未签名的applet.
我有一个Java Applet,需要访问客户端的本地文件系统.我为自己创建了一个简单的证书(它未经Verisign,Commodo认证,......).我使用以下模板签署了jar:
del \Users\koalabruder\.keystore
"C:\Program Files\Java\jdk1.7.0_45\bin\keytool" -genkey -alias %1 -keypass kp -dname "cn=inin" -storepass ab987c
"C:\Program Files\Java\jdk1.7.0_45\bin\jarsigner.exe" -storepass abc -keypass kp %2 %1
"C:\Program Files\Java\jdk1.7.0_45\bin\keytool" -export -storepass abc -alias %1 -file %3
Run Code Online (Sandbox Code Playgroud)
我有"没有签名证书"的简单安全警告已经存在多年,并不是我的问题.
我的问题是,该安全警告改变,因为在过去的Java更新之一:
此应用程序将在未来的Java安全更新中被阻止,因为JAR文件清单不包含Permissions属性.请联系发布者以获取更多信息.
这是什么意思?我该如何解决?我必须购买证书吗?我是否必须修复Manifest(MANIFEST.MF)?什么是Permission属性?
更新:这是我的jar文件中的清单
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Application-Name: inin
Permissions: all-permissions
Created-By: 1.7.0_45-b18 (Oracle Corporation)
Name: net/inin/transfer/ul/UlPanel.class
SHA-256-Digest: asdfasddddddddddddddddddddddddddddddddd=
Run Code Online (Sandbox Code Playgroud) 关于Stack Overflow的其他问题已经解决了这个问题,但是所提供的答案都没有帮助我解决这个问题.
我正在尝试使用Apache HTTP Commons从applet上传一个介于10 kB到16 MB之间的文件.在我的本地环境中一切正常.
我只在我的生产服务器(Tomcat 6.0,https://www.dailyrazor.com/)上收到以下异常,无论文件大小如何:
org.apache.commons.fileupload.FileUploadException: Processing of multipart/form-data request failed. Read timed out
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:384)
at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:116)
at com.actura.helper.UploadHelper.processUpload(UploadHelper.java:92)
at com.actura.voice.upload.FileUploadServlet.process(FileUploadServlet.java:85)
at com.actura.voice.upload.FileUploadServlet.doPost(FileUploadServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:662)
Run Code Online (Sandbox Code Playgroud)
这是Commons IO的调试日志:
2012-Sep-18 11:26:28,446 [TP-Processor5] com.actura.voice.upload.MonitoredDiskFileItemFactory
DEBUG inside MonitoredDiskFileItemFactory constructor (listener)
2012-Sep-18 11:26:28,794 [TP-Processor5] com.actura.voice.upload.MonitoredDiskFileItemFactory
DEBUG …
Run Code Online (Sandbox Code Playgroud) 当我使用Java小程序时,它们往往很慢,不能很好地与浏览器环境集成,并且通常需要点击几下("不,我不想让这个未签名的应用程序免费使用我的硬盘" ).
所以,我很好奇.
这些问题难以克服吗?是否有那些与浏览器体验完美集成的Java小程序(例如,设计良好的Flash应用程序的方式?)你能指出真正"漂亮"的Java小程序的任何例子吗?
我问这个是因为我想知道我是否应该更加认真地看待浏览器中的Java,或者Flash是否会在可预见的未来保持主导地位.
编辑:无意的火焰诱饵已被删除.对不起导致的任何进攻.
我刚刚将JRE升级到7u45,我的applet在启动时收到一条警告消息,说"此应用程序将在未来的Java安全更新中被阻止,因为JAR文件清单不包含Permissions属性." 然后我将以下两个属性添加到我的applet Jar文件的清单中(自签名):
Permissions: all-permissions
Codebase: *
Run Code Online (Sandbox Code Playgroud)
但是警告消息并没有消失.我怀疑我错过了其他一些东西,但经过数小时的研究后却无法找到它们.其他人都知道解决方案吗?
更新
使用有效证书签名的受信任的applet也无法运行.黄色警告消息未显示,但显示另一个错误对话框,说明安全设置阻止了小程序,而更改安全级别或Java控制面板中的其他内容无效.
为什么applet具有如此低的采用率,例如与Flash相比?是因为它们是技术上的缺点,还是仅仅是受欢迎的问题?