この質問は、パスワードを傍受する Greasemonkey に対する脆弱性に関するものですよね?
その場合、SSL はユーザーの資格情報の盗難を防ぐために何もしません。パスワード (またはハッシュなど) はユーザーのブラウザーから直接取得され、 GM_xmlhttpRequest()を介して悪者に送信されます。
クライアント側でパスワードをエンコードまたはハッシュしようとすると、Greasemonkey は責任のある JS を傍受したり、置き換えたりすることさえできます。
「私がユーザースクリプトを実行しているかどうか、ウェブサイトは知ることができますか?」を参照してください。、スクリプト ライターの作業を難しくすることはできますが、最終的には、悪者がユーザーに Greasemonkey スクリプト (またはさらに悪いことに、完全なアドオン/拡張機能) をインストールするように仕向けることができれば、作業を難しくすることしかできません。 - 不可能ではありません -- ユーザーのアカウントが危険にさらされる可能性があります。
悪意のあるスクリプトまたはアドオンが使用されているという証拠が得られるまで、またはそうでない限り、私はそれについて心配することさえありません. 最終的に、ユーザーはブラウザとクライアント側の対話を安全に保つ責任があります。
スクリプターにとってそれを難しくする (不可能ではない) ためにできること:
- ログを監視し、異常なアクティビティをチェックします (とにかくこれを行う必要があります)。
- 一般的にボットに対する防御を行います。「ボットが攻撃するとき」を参照してください。、 例えば。
- 実際のスクリプトまたは策略が検出された 場合、ユーザーに警告します。
- 異常なアクティビティがないか、ユーザーのアカウント/アクションを監視します。
- 入力されたパスワードを JS でインターセプトし、何らかの方法でワンタイム エンコードすることができます。これにより、因果関係のあるスクリプターは除外されますが、決定的なスクリプターは除外されません。完全を期すためにこれを含めているだけなので、これはお勧めしません。
- パスワード エントリを Flash ダイアログに配置します。Pure Greasemonkey は Flash とやり取りするのに苦労しています。繰り返しますが、これは費用対効果が高いとは思いませんが、完全を期すために含めてください。
- 正当なユーザーに面倒な手順 (ワンタイム パスワード、サード チャネル認証など) を要求しないでください。これは、犠牲者がより良い代替手段または回避策を見つけるまで (彼らはそうするでしょう)、愛に満ちた被害者を悩ませるだけです。