アカウント名:
パスワード:
気持ちは判らんでもないけど、セキュリティ対策としてどうよ、ってものタマに見かけますねぇ。
最近見つけたのだと某米系ネットバンキングの問い合わせのテキスト入力画面で、>, < あるいは SQL の断片的な文字列が使えません、って注意書きがあって... なんか脱力した。
%% 大きな傘を導入した副作用だろうけど
私が使ってる某証券会社のサイトは、ログアウトのボタンを押して「ログアウトしました」という画面がでてもそこからログイン後最初に表示される画面までブラウザの戻るボタンで戻ってリロードし「フォームデータを再送信する必要があります・・・」というポップアップのOKボタンを押すとIDもパスワードも入力せずに再ログインできてしまいます。セキュリティ上の都合なのか、ログイン後一定時間操作しなかったら自動でログアウトする仕様になっていますがこんな穴があるんなら意味無いですね。
「リロードで再送信」する場合は、以前に送信された内容をそのまま送信するんですよね?それならフォームに、フォームが表示されるごとに変化するユニークな値を隠し属性などで入れておいて送信時にIDとパスと一緒にその値も一緒に送信するようにするんじゃダメですかね。サーバ側でその値を記録しておいて、一度ログインに使われた値がもう一度使われようとしている場合は、IDとパスが一致してもログインしないようにすると。
そのあたり詳しくないんでもっといい方法があるかもしれませんけど。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson
微妙なセキュリティ対策 (スコア:1)
気持ちは判らんでもないけど、セキュリティ対策としてどうよ、ってものタマに見かけますねぇ。
最近見つけたのだと某米系ネットバンキングの問い合わせのテキスト入力画面で、>, < あるいは SQL の断片的な文字列が使えません、って注意書きがあって... なんか脱力した。
%% 大きな傘を導入した副作用だろうけど
の
リロードしてフォームデータを再送信 (スコア:2, 興味深い)
私が使ってる某証券会社のサイトは、
ログアウトのボタンを押して「ログアウトしました」という画面がでても
そこからログイン後最初に表示される画面までブラウザの戻るボタンで戻って
リロードし「フォームデータを再送信する必要があります・・・」というポップアップの
OKボタンを押すとIDもパスワードも入力せずに再ログインできてしまいます。
セキュリティ上の都合なのか、ログイン後一定時間操作しなかったら自動でログアウトする仕様になっていますが
こんな穴があるんなら意味無いですね。
Re: (スコア:0)
サーバーは、リロードで送信された情報(ID,PASS)なのか、手入力なのかを知ることはできません。
防ぐ方法としては、チャレンジ&レスポンスなどを利用することでしょうか。なかなかやってるサイトはないですね。
Re: (スコア:0)
「リロードで再送信」する場合は、以前に送信された内容をそのまま送信するんですよね?
それならフォームに、フォームが表示されるごとに変化するユニークな値を隠し属性などで入れておいて
送信時にIDとパスと一緒にその値も一緒に送信するようにするんじゃダメですかね。
サーバ側でその値を記録しておいて、一度ログインに使われた値がもう一度使われようとしている場合は、
IDとパスが一致してもログインしないようにすると。
そのあたり詳しくないんでもっといい方法があるかもしれませんけど。