Web OF Trustのようなプラグインのアイデアが思い浮かびましたが、赤いインジケーターは、左サイトでの親relativeのパスワード入力を阻止しないという疑いがありました。 少し考えた後、私は別のアイデアを思いつき、スクリプトを書いてクロムに入れました。 彼はクロームのみを使用し、どこにもパスワードを入力しないでください。パスワードが自動的に入力されない場合、サイトが偽物であることを意味し、ブックマークを使用して目的のサイトに移動します。 一部のユーザーはパスワードをまったく提供しませんでした:)。
拡張機能-Autologinを作成しました。 構造には、manifest.jsonとcontent.jsの2つのファイルのみが含まれます。
マニフェストでは、必要なサイトへのアクセスが必要であり、挿入されたcontent.jsスクリプトを規定しました。その機能は単純です。
必要に応じて、マスクでURLを確認します-セレクターでログインフォーム要素が存在するかどうかをDOMで確認し、見つかった場合はデータを入力して送信ボタンをクリックします。
フォームの存在について、mail.ru、vk、Odnoklassnikiの各サイトをスキャンするために少し時間を費やし、さらに1時間後にそれぞれのユーザー名とパスワードを登録しました。
それから、私は見逃したログインフォームへのリンクも取得しました。 フォームの追加、拡張機能の更新(当時、Chromeは開発拡張機能をまだブロックしておらず、すべてのユーザーのドキュメントに展開されていました)。
彼もそれを使い始めました。 アカウントの選択を追加しました。多数ある場合は便利です(Googleはまだアカウントを切り替えることができませんでした)。 さらに、トロイの木馬に対する追加の保護-誰かがクロールした場合、パスワードがプレーンテキストであっても、私の拡張機能は誰にもわかりません。 ブラウザは簡単にお互いからパスワードをインポートすることもできます-これは少し面倒です。
拡張機能の使用中、他の誰もアカウントを追放しませんでした。 私は自分と親relativeを確保し、平和を取り戻しました。 現在、Googleは独自の拡張機能をブロックしており、すべて無効になっています。 しかし、人々はより有能で慎重になり、フィッシングは無意味になりました。
これで話は終わりのようですが、悪魔は私を引っ張って、拡張機能の通常のユーザーインターフェイスを作成しました。 そして、すべてが1人の友人が見たので、興味を持ち、彼自身に尋ねました。
残念ながら、彼はそれを提供することに成功しませんでした...
そして、彼らは努力の20%と機能の80%について何と言っていますか? だから、これはすべて95から5が出てきました!
拡張を世界にリリースする場合、それを思い起こさなければなりません。
すぐに要件が増えました。
- データ暗号化、さまざまな方法:怠け者と偏執狂のため。
- データストレージ構造を作成するために、1アカウント-多くのサイト、多くのフォーム。
- フォームのデータベースを更新するためのシステムを考え出します。 多くのサイトがあり、それらすべてを自分でフォローすることはできません。
- ブラウザー間の同期。
暗号化については、 github.com / mdp / gibberish-aesライブラリを見つけました。
怠け者の場合は、キーを生成し、データベースに保存してパスワードを暗号化します。
妄想のために、マスターパスワードでキーを暗号化します。
中程度の妄想のために-私はマスターパスワードをRAMに保持し、もはや尋ねません。
ところで、この暗号化の信頼性を教えてください。
データを保存するには、 github.com / knadh / localStorageDBはmongoDbのようなもので、localstorageのラッパーです。インポートとエクスポートが便利です。
githubを使用してフォームのデータベースを更新するには、ブラウザーの起動時にリポジトリの更新を確認します。これにより、データベースを更新する寄稿者を任命することができます。
ユーザーインターフェイスは、プラグインを使用してJqueryUIで記述されています。 使用を開始するには、「プロバイダー」タブに移動する必要があります-アカウントを保存し、フォームに入力するプロバイダーを選択します。
暗号化のレベルは、フリーローダーと偏執狂の設定です。 レベル1とレベル2は、「高度なセキュリティ」をオンにするまで使用できません(設定タブで有効にできます)。
高度なセキュリティは、追加のパスワード暗号化を提供します。
セキュリティレベル0は、パスワードセキュリティを提供しません。 アカウントデータをプレーンテキストで表示することはできませんが、スペシャリストは問題なくそれらを解読できます。 パスワードはデータベースで暗号化され、暗号化キーもデータベースに保存されます。
セキュリティレベル1は、特定の条件下でパスワードセキュリティを確保します。暗号化キーを入力した後、ブラウザを開いたままにしないでください。 暗号化キーは一度要求され、ブラウザのメモリに保存されます。
セキュリティレベル2は、可能な限り最高のパスワードセキュリティを提供します。 暗号化キーは常に要求され、どこにも保存されず、アカウントの復号化とその後の認証にのみ使用されます。
設定もあります-「1つのプロバイダーの複数のアカウントで使用」。 モーダルダイアログはページ全体をシェーディングし、アカウントのリストを表示します。フォントサイズはすべてのアカウントを表示するように調整されます。 情報提供者アイコンはアドレスバーに表示されるだけで、クリックするとアカウント選択メニューが表示されます。
バックアップは、JSONでのデータベースの単純なシリアル化、インポート、ファイルへのエクスポートによって行われます。
私にとっては、この拡張機能は便利です。いつも使用しています。 ソースはGitHubにあります。他の誰かが役に立つかもしれません。 私はそれをウェブストアにアップロードすることを敢えてしませんでした、彼らはそのような機能でそれを見逃すことはほとんどありません。