金利0無利息キャッシング – キャッシングできます

 | 

2012-07-03

サーバーにパスワードを送らないフォームを作る

22:42 | サーバーにパスワードを送らないフォームを作る  - 金利0無利息キャッシング – キャッシングできます を含むブックマーク はてなブックマーク - サーバーにパスワードを送らないフォームを作る  - 金利0無利息キャッシング – キャッシングできます

まあ伝統的にはこういうの書いてやればいいわけなんだけど

<form onsubmit="return false">
...
</form>

これだとJavaScript無効の時には普通にフォームが送信されてしまう。

ジョークサイトとかパスワード強度チェッカーの類でパスワード入力させるサイトが、JavaScript無効だったり、エラーが起きると入力したパスワードが送られてしまうという実装になってることがたまにある。JavaScript有効の場合でも、フォーム送信を無効化するコードが外部ファイルに記述されていて、外部ファイルのロードに失敗した場合はフォームが送信されてしまう。開発者の想定していた通りに動いていれば、実際にパスワードが送られることはない、けどJavaScript無効時とかjsファイルのロードに失敗した場合なんかは想定されてないことも多い。

4月ぐらいにマイクロソフトのサイトに置いてあるパスワードチェッカーが、JavaScript無効時あるいはロードに失敗した場合にパスワードサーバーに送信されるようになっていた(最近直った)

https://www.microsoft.com/ja-jp/security/pc-security/password-checker.aspx

もちろんパスワードサーバーに送られたとしても誰の何のパスワードかも分からないし保存するメリットは無いだろうし、マイクロソフトがわざわざそんなことはしてないだろうけど、好ましい挙動では無いと思ったので報告をしてみた。途中何回かやりとりがあって、コード修正されずに文言だけの修正になりそうだったので(JavaScript有効でご利用くださいとか、送られたとしても保存しません、とかだろうか)、それだとマズイと思ったので軽いイチャモンみたいな内容を送った。

JavaScriptが使えるのであれば、パスワードの強度チェックはオフラインで行うことができますし、もしも「パスワードの強度チェッカーです、サーバーパスワードを送信しますが、それ以外の目的には使いません」と謳われているサイトがあったら「それ以外の目的には使いません」と言っていたとしても、ユーザーから警戒されなくてはいけません。

また、犯罪者が「パスワード強度をチェックするサイト」という名目で、実際にはパスワードを収集する目的のサイトを作った場合、もし罪に問われることがあったとしても、「実際にはパスワードを収集するつもりはなかった、これはバグである」と言い張ってしまえば、それが犯罪であったのか、本当にバグであったのかを立証することが極端に困難になります。「そのような実装は一般的には行われない」という認識がなければ、そういった言い訳が認められることになるでしょう。

「そのような実装は一般的には行われない」かどうかは、Microsoftだけの問題ではありませんが、Microsoftが「パスワード強度チェックする目的のサイトでサーバーパスワードが送られる」という状況を肯定してしまうと犯罪者はユーザーのパスワードを盗み易くなり、また罪に問われた場合でも言い逃れがしやすくなります。

提案した改善方法は以下のようなもの。

  • 1.フォーム自体をJavaScriptで出力する(script無効時には動かない旨を表示する)
  • 2.input要素にname属性を付けない(フォームが送られてもその要素の中身が送られなくなる)

Microsoftパスワードチェッカーは2の方法で対策された。これだとフォーム送信された場合に実際に送信されたリクエスト見ないと送ってないかどうか判別できないのであんまり良くないのだけど、まあ直ったといえば直った。

直ったので良かったのだけど、間違ってパスワード収集しちゃうジョークサイト作って誤認逮捕された時に「まあこういうの良くあることですよ」と言えるように残しておいたほうが良かったかもしれない。

HariahHariah2013/09/30 16:31Your posting is abeulotsly on the point!

AndraAndra2013/10/01 18:19That's a skillful answer to a <a href="http://daunkzs.com">difclfuit</a> question

MarcoMarco2013/10/01 21:14I never thought I would find such an everyday topic so entlnahlirg! http://qcojvmhrtnn.com [url=http://bwuelejaksi.com]bwuelejaksi[/url] [link=http://sjwxsz.com]sjwxsz[/link]

BelBel2013/10/02 04:40A wonderful job. Super helpful <a href="http://rzsqlye.com">inrnfmatioo.</a>

MatSlaxabMatSlaxab2019/04/27 04:42Drug Literature Cephalexin Viagra Online Rezeptfrei Cytotec Vidal <a href=http://viaapill.com>viagra</a> Viagra Serios Bestellen Ox Viagra Da 50

EllslencyEllslency2019/05/09 13:18Viagra Cialis Einnahme How To Last Longer During <a href=http://genericvia.com>viagra</a> Levitra Kaufen Austria

トラックバック - http://subtech.g.hatena.ne.jp/mala/20120703
 |