- PR -

JSPへのURL直接入力アクセスの制限について

1
投稿者投稿内容
saratoga
常連さん
会議室デビュー日: 2001/11/26
投稿数: 28
投稿日時: 2001-11-28 14:12
こんにちは!!

今回はユーザーによってアクセスできるページを制限したいのですが
JSP→Servlet→JSPの場合はServletで判断できるのですが
ブラウザのアドレス欄に直接JSPのアドレスを入力されると見れてしまいます。

JSP上にも下記のようなソースを書き判断しているのですが・・・
権限の1文字目が1ならばエラーページへ遷移させています。

<%
String lstKengen = "";
lstKengen = infbeans.getKengen().substring(0, 1);

if(lstKengen.equals("1")) {
%>
<jsp:forward page="/fane/cm/FcmErrorPage.jsp" />
<%
}
%>

Servletなり、JSPからこのJSPを呼んだときは認識してくれます。
しかし、直接URLを打ち込んだ場合のみ認識してくれません。

どなたかご存知の方がいましたらご教授お願い致します!!
saratoga
常連さん
会議室デビュー日: 2001/11/26
投稿数: 28
投稿日時: 2001-11-28 14:23
度々すいません。

この書き込みをした直後になぜか認識しました。
原因がわからないので気になりますが・・・

これからもみなさんとの情報交換よろしくお願いします!!
おがわ
大ベテラン
会議室デビュー日: 2001/08/01
投稿数: 199
お住まい・勤務地: 千葉県
投稿日時: 2001-11-28 16:32
> 今回はユーザーによってアクセスできるページを制限したいのですが
> JSP→Servlet→JSPの場合はServletで判断できるのですが
> ブラウザのアドレス欄に直接JSPのアドレスを入力されると見れてしまいます。
Browserからリクエスト可能な領域に JSP を配置しているのが、大きな原因です。
Webサーバ側で、当該URLをフィルタリングする必要があります。

また、ご使用の環境が、Servlet v2.2 に準拠しているサーブレットコンテナであれば、
${WebApplication-DocRoot}/WEB-INF 配下に、JSP を配置しておくとよいでしょう。
saratoga
常連さん
会議室デビュー日: 2001/11/26
投稿数: 28
投稿日時: 2001-11-28 17:49
お返事ありがとうございます!!

今回はロジックではじきましたが、フィルタリングという方法があるんですね。
サーバーサーブレットはユニファイ社のeWaveEngine4.1Aを使っています。
メーカーのHPではVer4.2はServlet v2.2に対応していますが
Ver4.1Aの情報は掲載されていなかったのでわかりません・・・。

よくWEB-INFというフォルダを掲示板等で見かけますが
そのようなフォルダはないのですが・・・。
これはサーバーサーブレットによって違うものなのでしょうか?

docrootというフォルダはあるので
その下にフォルダを作成しその中にJSPファイルを入れています。

Webサーバー側で制御する対策も考えてみます。

ありがとうございました!!
1

スキルアップ/キャリアアップ(JOB@IT)