Песочница против вредоносного кода в приложении Java

Очевидно, что такая схема javax вызывает всевозможные проблемы j2se безопасности. Java имеет .java строгую структуру безопасности, но plugin это нетривиально. Нельзя jdk упускать из виду возможность java облажаться и позволить непривилегированному core-java пользователю получить доступ java-api к жизненно важным компонентам plugin системы.

Помимо этого предупреждения, если sandboxing вы вводите пользовательский javax ввод в виде исходного кода, первое, что plugin вам нужно сделать, это скомпилировать .java его в байт-код Java. AFIAK, это jdk невозможно сделать изначально, поэтому .java вам нужно сделать системный .java вызов javac и скомпилировать javax исходный код в байт-код на sandbox диске. Here's учебник, который javax можно использовать в качестве openjdk отправной точки для этого. Изменить: как javax я узнал в комментариях, вы openjdk действительно можете скомпилировать java-se код Java из исходного кода, используя openjdk javax.tools.JavaCompiler

Получив байт-код JVM, вы .java можете загрузить его в JVM javax с помощью функции ClassLoader's defineClass. Чтобы core-java установить контекст безопасности openjdk для этого загруженного класса, вам java-api нужно будет указать ProtectionDomain. Минимальный jdk конструктор для ProtectionDomain требует jre как CodeSource, так и PermissionCollection. PermissionCollection oraclejdk - это объект, который вы .java здесь в первую очередь используете jre - вы можете использовать jre его, чтобы указать точные jdk разрешения, которые имеет openjdk загруженный класс. Эти разрешения sandbox должны быть в конечном итоге j2se обеспечены JVM AccessController.

Здесь много jre возможных ошибок, и вы должны oraclejdk быть предельно внимательны, чтобы java-se полностью понять все, прежде java чем что-либо реализовывать.

java

plugins

sandbox

2022-10-15T19:19:01+00:00