• 締切済み

ブラウザアドレスバーからのURL直接入力を防ぎたい

javaとstruts1.2でWebシステムの開発をしています。 セキュリティ要件で、ブラウザからのURL直接入力をエラーとするチェックをしなければならないのですが、下記のような場合でも正しくチェックできるような方法が見つからず、困っています。 refererによるチェックや、GETパラメタを無効とするなどの方法がネット上には出ていましたが、どれも、適応できない場合があるとのことでした。 以下、詳細な条件になります。 ・携帯からのアクセスも考慮し、Cookieやjavascriptが無効なブラウザからでも利用可能なシステム。 ・アンカータグによる画面遷移があるため、POST、GETの両方受付可能なシステム。 ・未ログイン状態でアクセスすると、セッションがない旨のエラーではじくことができるため、ログイン後に正規の画面遷移順に従わない画面にいきなりジャンプされることを防ぐのが主たる目的となる。 このような条件下でブラウザのアドレスバーからの直接入力をチェックできる良い方法がありましたら、ご教授いただきたいです。 以上、長文になってしまいましたが、よろしくお願いいたします。

  • Java
  • 回答数1
  • ありがとう数0

みんなの回答

noname#155524
noname#155524
回答No.1

脆弱性の一つです。 クロスサイトリクエストフォージェリー(CSRF)で検索して見てください。

hipokin
質問者

補足

ご回答ありがとうございます。 現在、CSRF対策として、更新系の画面にだけはワンタイムトークンを採用していますが、厳密には、これを参照系画面にも採用すべきということでしょうか。 以上、ご検討の程、よろしくお願いいたします。

関連するQ&A

  • CGIファイルへのブラウザからの直接入力によるアクセスについて

    自作のカウンターをSSIで設置するという前提では 『設置先のWebページ以外ではカウンターを作動 させない』または『設置先のWebページを経由して いないアクセスにはエラーを返す』という方法は 無いでしょうか? 通常、出回っているカウンターはブラウザから カウンターのURLを入力して直接カウンターCGIの ファイルにアクセスしてもカウントされてしまい ますが、このようなアクセスをカウントしない カウンターを作りたいのです。 (実際にカウンターCGIファイルに直接アクセスして  更新ボタンを押しまくるような人はまずいないと  思いますが、自己満足のためにやってみようと  思ったらできなかったため、気になって仕方が  無いのです・・・。) IFRAMEタグで設置するという前提では何とかなったの ですが、SSIで設置する場合はブラウザからの直接 入力によるアクセスと設置先へのアクセスを見分ける 方法が思い付かず、どうにも上手くいきません。 SSIでも設置先のWebページでしか作動しない カウンターCGIの組み方について、何か名案の ある方がおりましたら、何卒ご指導いただけますよう よろしくお願いします。

    • ベストアンサー
    • CGI
  • URL直接入力からのアクセスを弾く方法。

    こんにちは。今現在、個人の趣味のHPを運営しているのですが、荒し依頼掲示板に晒されてしまったらしくURL直接入力でHPにアクセスし、BBS等を荒らす人が増えて困っています。 そこで、URL直接入力からのアクセスを弾こうと思ったのですが、可能でしょうか? 可能でしたらその方法もお教え願えれば幸いです。 宜しくお願い致します。

  • ■URLダイレクト入力の規制はできますか?

    ■URLダイレクト入力の規制はできますか? ■質問の背景 携帯での照会システムにおいて不正アクセスを防止するため、以下の対策を検討しています。  (1)お気に入り登録の制限  (2)リファラによるアクセス元URLの制限 (1)は実装済み、(2)も一部実装済み(入り口であるトップ画面のみ) ですが、ログイン後の各画面については、セッション情報で規制をかけているため、セッションが残っている場合は、URLダイレクト入力でその後の画面遷移ができてしまいます。 上記(セッション…)は自端末に閉じた話であること、且つURL情報にはパラメータがない(POST送信である)ことから、パラメータを改ざんして別情報を照会するといった不正アクセスはできないと考えておりますが、万全を期す観点から、URLダイレクト入力を規制するといった話が出ています。 ■質問内容  (1)URLダイレクト入力を規制する必要性についてのコメントをお願いします。  (2)(1)で必要であれば、その方式(java、htmlでの実装方法)をご教示願います。 以上、宜しくお願い致します。

  • アドレスバーへの直接入力を禁止するには?

    いつもお世話になっています。 今PHPでホームページを製作しているのですがアドレスを直接入力した場合「アドレスの直接入力はできません」としてホームに飛ばしたいのですがPHPでこのようなことは可能でしょうか? 例)www.aaa.comがホームだとするとこのアドレスに手動で手を加えて「www.aaa.com/a.html(ファイルa.htmlは実際に存在するページ)」などとするとエラー画面を表示させ、サイト内のリンクをクリックしてジャンプする場合のみ表示されたいです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 掲示板CGIのブラウザからのアドレス直接入力によるアクセスやお気に入りからのアクセスを禁止するには?

    直リン禁止はhtaccessでできたのですが、掲示板CGIのブラウザからのアドレス直接入力によるアクセスやお気に入りからのアクセスを禁止し、必ずトップページから入ってもらうようにする方法はありますでしょうか?

  • vsftpdで立てたサーバーにブラウザでアクセスする

    vsftpdでサーバーをたてています。外部からアクセステストをするとコマンドではアクセスしてユーザー名とパスワードを入力してアクセスしてログインできますがブラウザではエラーがでました。どうやればブラウザでアクセスできますでしょうか?よろしくおねがいします。

  • ブラウザのURL表示に関して

    質問なんですが、テキストフォームに文字を入力して次の画面に遷移した場合、ブラウザのURLに入力した引数が表うじされてしまいますが、これを非表示するにはどうすればいいでしょうか? ちなみにソースは以下です。一部分は割愛してます。 送信ボタン押してブラウザのURL表示をみると http://127.0.0.1/02.phtml?age=23 になってしまう <form action="02.phtml"> <input type="text" name="age"> <input type="submit" value="送信"> </form>

    • ベストアンサー
    • PHP
  • operaブラウザでログイン

    Operaブラウザですが、「教えて」や「ブログ」サイトにログインできません。一応設定でCookieなど全て許可にチェックマークをつけても入力画面が繰り返されます。正しい設定方法を教えてください。

  • アプリからではなくブラウザからOKWAVEにログイ

    アプリからではなくブラウザからOKWAVEにログインしたいのですがブラウザからログインすると毎回IDとパスワードの入力を求められます。(次回から入力は省くにチェック入れても同じ) このめんどくさい入力を省く方法ってあります?

  • URLのパラメータに入力値が表示されてしまう

    SSLの処理で質問があります。 ログイン画面でID・パスワードを入力後、SSLをかけて次画面を表示しています。 SSLが使用できないユーザーがこの処理を行った場合、「ページが表示できません」と表示されます。これはいいのですが、URLに入力したIDとパスワードが表示されてしまいます。 IDとパスワードを入力してログインボタンクリック処理でエラーチェックなどを行った後、リダイレクトをしてJSPの表示を行っています。 なぜURLに表示されてしまうのでしょうか?

    • ベストアンサー
    • Java

専門家に質問してみよう