1

タスクの自動化に役立つ Chrome 拡張機能を開発しています。AutoHotkey スクリプトをトリガーする拡張機能が必要なところまで来ました。

JavaScript を使用して AutoHotkey をトリガーする方法はありますか? (jQueryも使っています)

4

2 に答える 2

2

HTTP ルートはおそらく正しい方法です。Node.js Node.jsを使用して小さなサーバーを簡単にセットアップし、子プロセス関数の 1 つを使用して AHK スクリプトを生成させることができます。Chrome 拡張機能のセキュリティ モデルがどのように機能するかはわかりません。そのため、クロスサイト スクリプティングの問題を軽減する必要があるかもしれません。それは解決可能だと思いますが、そうしていません。

于 2013-08-31T16:59:12.557 に答える
1

一般的に、次の 2 つの方法が思い浮かびます。

1. AHK を使用した HTTP サーバーのエミュレート

独自のローカル Web サーバー (理想的には直接の AHK 実装) を使用すると、AJAX 呼び出しを介して直接通信できます。その後、サーバーはあらゆる種類のコマンドを受信して​​委任できます。AHK にはSparrowが存在しますが、プロジェクトは終了しているようで、投稿内のソース コード リンクはダウンしています。他の場所 (たとえば、いくつかの svn リポジトリ) からそれらを取得する必要があります。また、 KF Web サーバーのようなコマンド ライン ツールを実装し、それをスクリプトと組み合わせて使用​​することもできます。

2. 独自のプロトコルを定義する

もう 1 つの解決策は、単に独自のプロトコルを指定し、それを実行可能ファイル (スクリプトやディスパッチャなど) に割り当てることです。これは、渡したパラメータに応じて他のアプリケーションを起動します。この回答では、Windows で独自のプロトコルを定義する方法について説明しています。また、それぞれのWindows のドキュメントを確認することもできます。
JavaScript を使用してブラウザー内からカスタム プロトコルを呼び出すことができるかどうかは、ブラウザーと、おそらくそのセキュリティ設定に大きく依存します。あなたの環境でそれをチェックアウトする必要があります。

セキュリティ
どのようなソリューションを使用する場合でも、Web ページにアプリケーションを実行したり、コードを実行したりできるようにすると、深刻な脆弱性が生じます。攻撃者があなたのプロトコルや Web サーバーなどを知った場合、攻撃者が制御する Web サイトにアクセスすると、攻撃者は簡単に独自のものを挿入できます。そのため、少なくとも 2 つのことを実装する必要があります:
a) ある種の認証メカニズム (例: HMAC ) を使用します。これにより、エクスプロイトが少なくとも少し難しくなります。
b)引数をコードとして直接実行しないでください。常にそれらを解析し、整合性をチェックしてください。

于 2013-08-28T12:00:57.800 に答える