問題タブ [securitymanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - サンドボックス化された Java コードを実行する最良の方法は何ですか?
Java を実行するための API (ideone.com のように) を再現しようとしていますが、これまでのところ、Java サンドボックスを実行するのに多くの問題があります (SELinux サンドボックスは機能しません)。
SecurityManager について聞いたことがありますが、SecurityManager を使用して独自の刑務所サーバーを作成する代わりに、サンドボックス (ブラウザーで実行される Java アプレットのようなもの) で Java コードを実行する最も簡単な方法を見つけようとしています。 .
glassfish - ReflectPermission("suppressAccessChecks")
ReflectPermission("suppressAccessChecks") に問題があります。認証されたユーザー (ユーザー名とパスワード) でログインし、Web アプリケーションの .jsp またはその他のページにアクセスしようとすると、
java.security.AccessControlException: access denied ("java.lang.reflect.ReflectPermission" "suppressAccessChecks")
.
これは、GlassFish のセキュリティ プロパティをチェックして「セキュリティ マネージャ」を有効にしている場合にのみ発生します。このオプションのチェックを外すと、Web アプリケーションは機能します。
この理由の原因と解決方法を知りたいのですが?セキュリティ プロパティでセキュリティ マネージャのチェックを外すことはお勧めできません。
GlassFish Security セクションで Security Manager を確認しましたが、.jsp コードの上に次のコードを追加しようとしました
ReflectPermission refperm = new ReflectPermission("suppressAccessChecks", "");
AccessController.checkPermission(refperm);
しかし、それも役に立ちませんでした。
java - AccessController doPrivileged は、modifyThreadGroup が付与されていないときにスレッドを作成できますか?
AccessController.doPriviliged() メソッドでスレッドの作成を禁止しようとしています。以下のメソッドは、スレッドを作成して実行します。これを -Djava.security.manager で実行します。このリンクによると、modifyThreadGroup が許可されていない場合、スレッドの作成は許可されませんか?
http://docs.oracle.com/javase/7/docs/technotes/guides/security/permissions.html
なぜこれが起こっているのか、そしてAccessControllerを使用してスレッドの作成を禁止する正しい方法について誰かが教えてくれますか?
java - アプリケーションデータをユーザーから保護する Java SE セキュリティ機能
私はJava SE のセキュリティ機能について調べてきました。
私が理解している限り、この標準機能の全体的な考え方は、悪意のあるソフトウェアからユーザーを保護することです。
SecurityManager がデフォルトで有効になっている Web 上の両方の Java アプリケーションと、セキュリティ ポリシーにより、ユーザーが追加のアクセス許可を付与できるユーザー マシンへのアプリケーション アクセスが制限されます。
また、SecurityManager がデフォルトで無効になっているローカル Java アプリケーションでは、ユーザーが具体的なアプリケーションに対して SecurityManager を有効にして、アプリケーションにセキュリティ ポリシーを適用できます。
Java SE SecurityManager は、アプリケーションの機密データをユーザーから保護するために適用できますか?
はいの場合、開発者がこれを達成するための高レベルのシナリオは何ですか?
tomcat - Properties file not found in classpath when using Tomcat with security manager enabled
I have a properties my web application needs, but it is not available at package time. So I put it in TOMCAT_HOME/lib and the application finds it with no problem. When I run Tomcat with security manager enabled, the file is never found. I have granted permission to read it, but it is still not found. I am not getting any security error messages, only that the file is missing.
When Tomcat is run with security manager enabled, is the classpath different? Is it more restricted?
java - jar からのクラス定義のロードに失敗しました
アプリケーションを に移植JApplet
してブラウザで実行できるようにしようとすると、問題が発生しました。
プログラム内容:
- ジャーファイル。
CustomClassLoader
私の実装が含まれています。ウェブサイトに保存されます。 - コンテンツ ディレクトリ。コンパイルされたクラスでいっぱいです。ユーザーのコンピューターに保存されます。
問題:
コンテンツ ディレクトリにNoClassDefFoundError
.class ファイルを読み込もうとすると、.class ファイルが表示されますCustomClassLoader
。
エラーは達成できませんが、jar 内のクラスに関連しています。クラスは抽象です。コンテンツ ディレクトリ内のすべての .class ファイルは、このクラスを拡張し、必要なすべてのメソッドを埋めます。これらのクラスをロードすると、エラーがスローされます。プログラムは、正常に実行された場合java -jar file.jar
、完全に正常に動作します。
これは、クラスパスと関係があると私に信じさせます。
セキュリティ設定:
appletviewer
次のようなコマンドでアプレットを実行しています。
同じディレクトリに私のポリシー ファイルがあります。
私の知る限り、他のセキュリティ例外はスローされていません。アプレットは署名されています。
アプレットのロードに使用される HTML ファイル:
この問題を解決するための助けをいただければ幸いです。
CustomClassLoader.java:
ランナーの例: CanReachRunner.java