5

何百もの HTML、JavaScript、および画像ファイルを含む Web アプリケーションがあります。これらのファイルは、ルート ディレクトリの下にあります。

my_root--
    -- html
    -- js
    -- images

これらのフォルダーには、いくつかのサブフォルダーが含まれています。

セキュリティ上の理由から、これらすべてのリソースを WEB-INF フォルダーの下に移動して、直接アクセスできないようにする必要があります。

現在、JSP ファイルとサーブレット ファイルは既に WEB-INF フォルダーの下にあります。

すべての HTML/JavaScript/images フォルダーを WEB-INF の下に安全に移動し、これらのフォルダー内のリソースへのすべてのリンク/転送を中断せずに、これらのリソースに直接アクセスできないようにする最も簡単な方法は何ですか?

WebSphere および WebLogic サーバーを使用しています。

4

2 に答える 2

9

これらのフォルダー内のリソースへのすべてのリンク/転送を中断せずに、すべての html/js/images フォルダーを WEB-INF の下に安全に移動し、これらのリソースに直接アクセスできないようにする最も簡単な方法は何ですか?

ここであなたは考え方を間違えています。いずれにせよ、HTML/JS/画像 (および CSS) リソースには直接アクセスできる必要があります。JSP の場合は話が異なります。すべてではないにしても、一部はサーブレットで前処理する必要があります (たとえば、DB からリストを取得してテーブルに表示するため)。これらの JSP が直接アクセスされた場合、そのサーブレットのステップは完全にスキップされますが、これは絶対に望ましくありません (JSP は最終的に「空」になり、DB からのデータはありません)。そのため、/WEB-INF最初に前処理サーブレットを経由せずに直接アクセスできないように、それらを非表示にする必要があります。また、サーブレット ベースの MVC フレームワークの場合、この方法では、MVC フレームワーク プロセス全体 (リクエスト パラメーターの収集、それらの変換/検証、モデル値の更新、アクションの呼び出しなど) がスキップされます。

あなたの具体的な機能要件は正確には明確ではありません(質問全体はそれ自体では意味がありません。答えは単に「それをしないでください」です)が、実際に必要のない静的リソースへのアクセスを制限したい場合特定のユーザーに対してのみサーブレットによって前処理される場合は、認証/ログイン システムを実装する必要があります。これには、コンテナ管理の認証または homegrow aFilterを利用できます。

于 2012-08-30T10:31:26.773 に答える
0

notepad++ のような非常に単純なツールを使用して、findAndReplace 機能を使用できます。Eclipse でもこれを行うことができますが、すべての参照を効果的に見つけるのは困難です。

ユーザーによる画像へのアクセスを阻止する方法は他にもあることに注意してください。おそらく、物事をそのままにして、websphereに画像フォルダーからのこれらの画像の提供を停止するように指示する方が簡単です

于 2012-08-30T10:22:35.353 に答える