6

OSを使ってブラウザオフ時にブラウザの「ローカルストレージ」を読みたい!

クライアントデータをローカルストレージに保存し、ブラウザとインターネットをオフにしてから、OS プログラム (Windows exe) がそのデータにアクセスして分析し、そのローカルストレージ領域に新しいデータを書き込んで、ブラウザが新しいデータを再起動したときにデータは localstorage にあります。

私のOS(つまり、Windows)はブラウザの「ファイル」からCookieを読み取ることができるため、これが可能になるはずです...おそらく、ローカルストレージの「ファイル」の形式がわかると、OSはそのすべてのファイルのボスになります。それらを変更できるはずです!

では、「クライアント側の .exe プログラム」を使用して JavaScript/HTML5/DOM の「localstorage」を読み書きするにはどうすればよいですか?

失敗: OSが単純なデータをブラウザに(およびブラウザから)渡すことができる他の方法はありますか?

明らかに、これらすべてには巨大な潜在力と巨大な潜在的危険の両方があります。

ブラウザは、実際の OS と安全にやり取りできる場合にのみ、 「未来の仮想 OS」になることができます!!

ありがとうございました。

4

2 に答える 2

7

もちろん、適切な権限でローカルに実行されているアプリは、ディスク上の任意のファイルにアクセスできます。しかし、本当の問題は、ファイルを開いたらどうするかということです。

次のことを考慮してください。

  • 各ブラウザ(Chrome、Firefox、IE、Opera)は、ローカルストレージデータを独自の形式で保存する可能性があります。これらのフォーマットをリバースエンジニアリングする必要があります。
  • これらの形式は実装の詳細(文書化されたAPIではない)であるため、変更される可能性があります。これにより、アプリが破損したり、ユーザーデータが破損したりします。
  • ブラウザが開いているときに(問題のページが開いていなくても)これらのデータファイルを変更するとどうなりますか?ブラウザは、データファイルが下から変更されることを期待していないため、奇妙な動作が見られる可能性があります。

これはすべて、これは非常に悪い考えであると言うことです。あなたは他の誰かのアプリケーションの内部をいじっています。それは大したことではありません。

別のアプローチを検討しましたか?同様の問題に直面したとき、127.0.0.1の特定のポートにバインドされた非常に単純なHTTPサーバーをアプリに実装しただけです。

XHRと適切なCORSヘッダーを使用すると、ブラウザーベースのアプリケーションは安全な方法でデスクトップアプリと通信できます。

于 2013-02-03T22:06:49.213 に答える
1

他のいくつかの方法を次に示します。

  • アプリケーションに Web ブラウザー コントロールを埋め込みます。Web ブラウザー コントロールはページを簡単に覗くことができ、ページはローカル ストレージを簡単に覗くことができます。Web ブラウザー コントロールは、主に Internet Explorer を指します。
  • 実行可能ファイルの名前を操作することで、Web ページから開始された実行可能ファイル (バッチ ファイルであっても) にパラメーターを渡すことができます。( application/batasContent-Typeを使用して、ユーザーがプログラムをダウンロードしたときに、OS にプログラムを実行するように勧めます。)
  • ブラウザーから開始されたClickOnceプログラムは、Web ページからデータを簡単に受け取ることができます。
  • プログラムで自動化 ( AutoItAutoHotKey ) を使用して、Web ページのフィールドからコピー/貼り付けできます。Web ページ側でタイトルを制御するので、タイトルでウィンドウを見つけることができます。ブラウザーを開いて、ローカル ストレージをテキスト フィールドにダンプし、フィールドにフォーカスするページに移動することを自動化することもできます。
  • ActiveX コントロール (頑張ってください)

OS X や Linux に同様のトリックがあるとは言えません。

于 2013-02-04T02:56:04.040 に答える