Programing

Java 오류 : "보안 설정으로 인해 로컬 응용 프로그램 실행이 차단되었습니다."

lottogame 2020. 12. 1. 07:33
반응형

Java 오류 : "보안 설정으로 인해 로컬 응용 프로그램 실행이 차단되었습니다."


내 브라우저 ( Chrome ) 에서 Java로 작성된이 간단한 HelloWorld 코드를 실행하려고합니다 .

public class HelloWorld extends JApplet {
public void init() {
    try {
        SwingUtilities.invokeAndWait(new Runnable() {
            public void run() {
                JLabel lbl = new JLabel("Hello World");
                add(lbl);
            }
        });
    }
    catch (Exception e) {
        System.err.println("createGUI didn't complete successfully");
    }
}

NetBeans로 컴파일 한 다음 WebApplication 프로젝트를 만들었습니다. 의 HTML 애플릿을 실행하는 코드는 다음과 같습니다

<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <p><applet code="HelloWorld" archive="applet_HelloWorld.jar"  width="590" height="530"></applet></p>
    </body>
</html>

NetBeans에서 애플릿을 실행하면 작동합니다. 그러나 HTML 코드를 두 번 클릭하여 실행하면 브라우저에서 다음 메시지가 나타납니다.

보안 설정으로 인해 로컬 애플리케이션의 실행이 차단되었습니다.

Internet Explorer와 Firefox로 시도했지만 아무것도 시도하지 않았습니다.

이 메시지는 Java의 마지막 업데이트 이후에 나타나기 시작했습니다. 어디에 문제가 있습니까?


Java 7 Update 21 Security Improvements in Detail 언급을 읽은 후 ..

도입 된 변경 사항으로 인해 최종 사용자가 자체 서명되거나 서명되지 않은 애플리케이션을 실행할 수 없을 가능성이 높습니다.

.. 나는 이것이 느슨한 클래스 파일-모두의 '가장 간단한'애플릿에 대해 어떻게 될지 궁금합니다.

로컬 파일 시스템

대화 상자 : 보안 설정으로 인해 로컬 응용 프로그램 실행이 차단되었습니다.
보안 설정으로 인해 로컬 애플리케이션 실행이 차단되었습니다.

JRE가 기본 '높음'보안 설정으로 설정되어있을 때 로컬 파일 시스템 에서로드되는 느슨한 클래스 파일로 구성된 애플릿에 대해 표시되는 대화 상자 입니다.


JRE의 약간의 특이한 점은 3 번 지점에서만 생성되었습니다.

  1. 빈 콘솔로 이어지는 깨진 애플릿 기호를 보려면 애플릿 페이지를로드하십시오.
    Java 설정을 열고 레벨을 Medium으로 설정하십시오 .
    브라우저 및 Java 설정을 닫습니다.
  2. 애플릿을 보려면 애플릿 페이지를로드하십시오.
    Java 설정을 열고 레벨을 High로 설정하십시오 .
    브라우저 및 Java 설정을 닫습니다.
  3. 깨진 애플릿 기호 와 위의 대화 상자 를 보려면 애플릿 페이지를로드하십시오 .

인터넷

이에서 볼 수있는 간단한 애플릿 (느슨한 클래스 파일)을로드하면 크기 조정 애플릿 데모 오프 인터넷 - 자랑 applet의 요소를 :

<applet
    code="PlafChanger.class"
    codebase="."
    alt="Pluggable Look'n'Feel Changer appears here if Java is enabled"
    width='100%'
    height='250'>
<p>Pluggable Look'n'Feel Changer appears here in a Java capable browser.</p>
</applet>

또한 성공적으로로드되는 것 같습니다. 그것을 암시 :-

로컬 파일 시스템에서로드 된 애플릿은 이제 인터넷이나 로컬 서버에서로드 된 것보다 더 엄격한 보안 샌드 박스의 적용을받습니다.

보안 설정 설명

Java 7 업데이트 51부터.

  • 매우 높음 : 가장 안전한 설정-신뢰할 수있는 기관의 만료되지 않은 인증서로 식별 된 Java 응용 프로그램 만 실행할 수 있습니다.
  • 높음 (최소 권장) : 신뢰할 수있는 기관의 인증서로 식별 된 Java 응용 프로그램이 실행될 수 있습니다.
  • 보통 - 보안 프롬프트를 표시 한 후 모든 Java 응용 프로그램을 실행할 수 있습니다.

오늘 같은 문제에 직면, 나는에서 Java 컨트롤 패널의 보안 설정을 변경하여 문제를 해결할 수 있었다 HIGH으로 MEDIUM.

음, Java 보안 설정을 MEDIUM으로 영구적으로 설정하는 것은 잠재적 인 악성 소프트웨어가 시스템에서 실행되고 차단되지 않도록 허용하므로 실제로 권장되지 않습니다. 따라서 애플릿을 실행 한 후 설정을 HIGH로 다시 변경하는 것이 좋습니다.

Java 제어판의 위치

제어판 설정 변경


Linux 를 사용하는 경우 이러한 설정은 /usr/bin/jcontrol(또는 현재 Java 도구를 얻기위한 경로 설정)을 사용하여 사용할 수 있습니다 . 의 파일을 편집하여 ~/.java/deployment/deployment.properties"deployment.security.level = MEDIUM"을 설정할 수도 있습니다 .

놀랍게도이 정보는 Oracle 웹 사이트에서 쉽게 구할 수 없습니다. java.sun.com이 그리워요 ...


  1. 제어판으로 이동
  2. Java를 두 번 클릭하십시오.
  3. 보안 탭을 엽니 다.
  4. 매체 선택
  5. 적용을 클릭 하십시오
  6. 웹 브라우저를 다시 시작하십시오.

그게 다야!

여기에 이미지 설명 입력


보통 보안 수준이없는 경우 예외 사이트 목록 ( Java 제어판보안 탭)에 응용 프로그램을 추가해야합니다 .

  1. 브라우저에서 애플릿을 열고 주소 표시 줄의 내용을 복사하십시오. 주소 표시 줄의 애플릿 주소 스크린 샷
  2. 제어판Java 제어판보안 탭으로 이동 하여 Edit Site List...버튼을 누릅니다.Java 제어판의 보안 탭 스크린 샷

  3. Add버튼을 누르고 경로를 입력 한 다음 Enter를 누르십시오.예외 사이트 목록 스크린 샷

  4. Continue표시되는 보안 경고를 누릅니다 .보안 경고 스크린 샷-파일 위치 경고 프롬프트

  5. 애플릿을 다시 열고 Run팝업 창 을 누르는 것을 잊지 마십시오 .보안 경고 스크린 샷


If you are like me whose Java Control Panel does not show Security slider under Security Tab to change security level from High to Medium then follow these instructions: Java known bug: security slider not visible.


Symptoms:

After installation, the checkbox to enable/disable Java and the security level slider do not appear in the Java Control Panel Security tab. This can occur with 7u10 and above.

Cause

This is due to a conflict that Java 7u10 and above have with standalone installations of JavaFX. Example: If Java 7u5 and JavaFX 2.1.1 are installed and if Java is updated to 7u11, the Java Control Panel does not show the checkbox or security slider.

Resolution

It is recommended to uninstall all versions of Java and JavaFX before installing Java 7u10 and above.
Please follow the steps below for resolving this issue.
1. Remove all versions of Java and JavaFX through the Windows Uninstall Control Panel. Instructions on uninstalling Java.
2. Run the Microsoft uninstall utility to repair corrupted registry keys that prevents programs from being completely uninstalled or blocking new installations and updates.
3. Download and install the Windows offline installer package.


My problem case was to run portecle.jnlp file locally using Java8.

What worked for me was

  1. Start Programs --> Java --> Configure Java...
  2. Go to Security --> Edit Site List...
  3. Add http://portecle.sourceforce.net
  4. Start javaws portecle.jnlp in CMD prompt

On step 3, you might try also to add file:///c:/path/portecle.jnlp, but this addition didn't help with my case.


Java applets do create a security risk, hence are disabled in most modern browsers. You have to lower the security to run it. There is a guide by Oracle for that.


  • Starting with Java 8, there is no "medium" risk setting in the Security tab under Java

  • You will keep getting this error till you revert to older Java (suggested Java 7, it has hit the end of life though).

  • Install both 32-bit and 64-bit version because browsers are still 32-bit, even on a 64-bit machine, 64-bit OS


I am using an older Data Structure and Algs book that comes with Java Applets for practice. So I needed to store and run some applets locally. I am currently running Windows 10 OS with Edge, Chrome, and IE 11.

Running applets seem to only be allowed in IE11, and as other have mentioned you have to add the applet to the exception list. My issue was since I am storing these locally, and opening them in IE, it opened with path starting with "C:\..." Adding the full path using, "file///..." like mentioned in one of the other answers didn't work for me.

The fix: So, I just added(without the quotes), "file:///" to the exception site list and finally got it working. This also allows me to run any applet stored locally, and I do not have to explicitly add an exception for each applet path.

프로그램 사용이 끝나면 목록에서 예외를 제거하고 필요한 경우에만 다시 추가 할 계획입니다.

참고 URL : https://stackoverflow.com/questions/16196425/java-error-your-security-settings-have-blocked-a-local-application-from-runnin

반응형