拒绝访问(“java.io.FilePermission”执行)
我是初学者,这是我写的第一个小程序 我想用applet运行exe应用程序 java代码拒绝访问(“java.io.FilePermission”执行),java,security,applet,Java,Security,Applet,我是初学者,这是我写的第一个小程序 我想用applet运行exe应用程序 java代码 package appletexample; import java.io.*; import java.awt.*; import java.applet.Applet; public class Welcome extends Applet { public void init() { String execommand = "C:\\windows\\notepad.ex
package appletexample;
import java.io.*;
import java.awt.*;
import java.applet.Applet;
public class Welcome extends Applet {
public void init() {
String execommand = "C:\\windows\\notepad.exe" ;
try {
Process proc = Runtime.getRuntime().exec(execommand) ;
}
catch(IOException ieo) {
System.out.println("Problem starting " + execommand) ;
}
}
}
java.policy.applet
grant {
permission java.security.AllPermission;
};
我在eclipserunas->javaapplet
worked和openednotepad中运行这段代码
但是当Export->Jar文件(带有.classPath.project.java.policy.applet)时
用于
Html
作为初学者,你应该从简单得多的东西开始。当你玩小程序时,并不是所有的安全规则都适用。但是,当您进入现实世界时(在您的情况下是浏览器,或者换句话说,是沙盒),安全规则是有效的,以防止您的代码损害主机 你在做什么-当客户端用小程序打开你的网页时,你正在客户端计算机上运行一些程序。这就是病毒的作用。人们不会允许的
当然,您可以使用这种方法或其他方式在另一台计算机上运行程序,但这是您的目标吗?如果是为了学习基础知识,那就做些简单的事情。最终,您将了解和了解其他对您和您的客户有用的方法。我假设您只是想练习如何编写小程序。 出于开发目的,您可以创建密钥库,然后使用它对applet.jar进行签名 转到:开始菜单>执行>cmd.exe 输入:
cd /
keytool -genkey -dname "cn=CN, ou=OU, o=O, l=L, st=ST, c=C" -alias mykey -keypass mypass -keystore mystore -validity 3650 -storepass mypass
jarsigner -keystore c:\mystore -storepass mypass C:\path\to\applet.jar mykey
然后:
刷新HTML页面。如果这是一个新项目,考虑完全删除applet。改用JNLP。我是初学者,哪个小程序会掉下来?什么是JNLP?请详细解释只是搜索JNLP;10分钟的搜索和阅读应该可以让您开始。JNLP是用于运行exe应用程序的?请在此处阅读关于JNLP的内容:感谢帮助,但请说错误您的安全已阻止自签名应用程序运行。您可以将此应用程序的URL添加到异常站点列表中,该列表位于Java控制面板的“安全”选项卡下。请参阅“谢谢”,创建密钥库后,在将url添加到异常站点时说错误安全,小程序正常工作,
cd /
keytool -genkey -dname "cn=CN, ou=OU, o=O, l=L, st=ST, c=C" -alias mykey -keypass mypass -keystore mystore -validity 3650 -storepass mypass
jarsigner -keystore c:\mystore -storepass mypass C:\path\to\applet.jar mykey