3

したがって、JavaとJSPを使用してWebサイトを作成していて、それを作成した言語をユーザーに知られたくない場合は、どのような手法を使用しますか?

4

6 に答える 6

5

Struts2 のようなある種のフレームワークを使用している場合は、ディスパッチャ サーブレットにマッピングされた拡張子 (*.action または選択したもの) があります。ディスパッチャは、WEB-INF ディレクトリにある JSP にリクエストを「転送」します。ユーザーは、サーブレットに向けられた URL だけを見て、HTML を取得します。テンプレート言語が何であったかはわかりません。サーブレット マッピングには好きなものを選択できるため、何かを作成したり、".php" や ".asp" などで間違った方向に誘導したりすることさえできます。

もちろん、WEB-INF ではなく、Web アプリ ディレクトリに JSP を配置することもできます。これらに別の拡張子を付けて、web.xml で偽の拡張子を指定<jsp-property-group>する要素を使用してを作成することにより、JSP として処理するようにコンテナに指示できます。url-pattern

また、コンテナーのドキュメントを調べて、送信される可能性のあるサーバーのバージョン情報を非表示にする方法を決定する必要があります。もう 1 つ調べる必要があるのは、セッション Cookie 名を「jsessionid」以外の名前に変更する方法です。これはちょっとした問題ですが、これはサーブレット仕様の一部であり、一部のコンテナーでは変更がサポートされていません。

于 2009-04-19T00:24:58.230 に答える
4

ここでの他の回答とともに、アプリケーションエラーを正しく処理していることを確認する必要があります。例外を出してWebコンテナがそれを処理する場合、何を使用しているかはかなり明白になります。

于 2009-04-19T00:53:54.933 に答える
2

私がする唯一のことは、拡張機能(jsp、aspx、aspなど)のないページにリクエストを渡す方法です。これは、リクエストURLを手動で解析することで実行できます。また、サーバーを再構成して、サーバーの詳細を非表示にします。

于 2009-04-19T00:13:43.080 に答える
1

1)独自のファイル拡張子を作成し、それを選択したハンドラーにマップするようにサーバーを構成します。たとえば、.wheeを再マップして、ASP.NETハンドラーまたはPHPハンドラーを呼び出します。

2)使用しているハンドラーが、ほとんどの場合と同様に、それが何であるかを示すヘッダーを挿入しないようにしてください。含まれている場合は、送信しないように構成するか、スタック内のその前に何かを配置して、送信する前にそれらのヘッダーを削除します。

于 2009-04-19T01:05:23.470 に答える
1

また、アプリが送り返す HTTP 応答ヘッダーも検査する必要があります。多くの場合、応答ヘッダーでアプリを強化するテクノロジーを見つけるのは簡単なことではありません。

于 2009-04-19T02:34:33.693 に答える
0

Apache 構成ファイルでは、次の行により、.php が PHP スクリプトとして認識され、実行されます。

AddHandler php5-script .php

これを .asp に変更すると、Apache は .asp ファイルを PHP スクリプトとして認識します。たとえば、.blarg に変更すると、Apache は .blarg ファイルを PHP スクリプトとして認識します。

于 2009-04-19T03:02:16.077 に答える