Web ページが読み込まれた後、クライアント側で EXE ファイルを読み込んで実行する方法はありますか? [Java スクリプトまたは HTML を使用]
7 に答える
このためのいくつかのJSインターフェースがありますが、セキュリティ上の理由から、最近のブラウザーではブロックされている可能性があります。
したがって、クライアントがあなたを信頼し、[FF / IE / Safari/etc。]拡張機能をインストールするか...
ただし、FF拡張方法については、このスレッドで私の回答を参照してください
要するに:
この投稿による外部アプリケーションの起動は、次のように実行できます。
var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath("c:\\myapp.exe"); file.launch();
IEの場合、これを実行してみることができます
<script lang='vbscript'>
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\program files\program\program.exe"
</script>
調べるべきものはJavaWebStartです。
これは明らかにJavaのみのテクノロジですが、基本的にWebページからローカルアプリケーションを起動し、任意の.EXEを起動するよりもいくらか安全な方法で起動できます。
副次的な利点は、サイトのリポジトリコピーを更新するだけで、すべてのユーザーにアプリケーションの更新を展開できることです。更新は自動的にプルされます。
MSIEでは、そのためにActiveXを使用することは可能ですが、ユーザーはActiveXコントロールのインストール/実行を許可する必要があります。あなたがあなたの管理下にある環境(例えばあなたの会社)を見ているなら、これは方法かもしれません。ずっと前に、このような正当な「リモートインストール」機能を使用してきました。最近では、インストーラーをダウンロードして実行するようにユーザーに依頼する方が簡単です(ブラウザーに依存せず、ユーザーはこれを行う方法を学びました(gasp!))。
「ブラウザからJS/HTMLを使用する」という意味の場合、これは「任意のリモートコード実行」と呼ばれ、かなり深刻なセキュリティホールです。ですから、ありがたいことに、それは不可能です(コンピュータでWebサイトを実行したいですformat c:
か?そう思いました)。
法的に、いいえ。
あなたがハッカー兼クラッカーの場合:
ええ。古いバージョンのFlashPlayer(9未満だと思います)には、これを実行できるセキュリティホールがあります。十分に賢い場合は、それを悪用して、ユーザーのマシン(少なくともWindows / Mac)で任意のコードを実行できます。詳細については、このリンクを参照してください。
ユーザーがサイトからexeを実行したい場合は、ダウンロードして実行しますが、誰かがサイトにアクセスしたときにサイトがexeを自動的に実行しようとしている場合は、セキュリティが非常に脆弱になります。
exeは何をしますか?これは、JavaScriptまたはサーバー側でさえ可能かもしれません。クライアントに実行可能ファイルを実行させたい場合のその他のオプションは、.net Click Onceデプロイメントのようなものを確認することです。このデプロイメントでは、実行可能ファイルをサイトに公開し、クライアントはサイトからダウンロードしてインストールできます。これには、次のような利点があります。自動更新。
短い答え-はい、それは可能です。長い答え-いいえ、それはできませんし、そのひどく悪い習慣です。
説明させてください。
セキュリティが決定的な要因です。実行可能ファイルを起動するコードを含め、JavaScriptでほぼすべてを記述できますが、ほとんどのブラウザでは、明らかに大きなセキュリティリスクがあるため、exeを起動できません。
私の提案では、従来の方法で物事を実行します。より良いクライアント側のサポートが必要な場合は、アプレットまたはactive-xを使用します(ただし、これは避けます)。
いいえ、これはセキュリティホールになります。Webアプリケーションは、HTML / Javascriptを使用してのみ作成されており、ブラウザで実行するのに十分安全であると見なされるFlashなどの他のテクノロジを使用する場合もあります。(セキュリティホールがある場合もありますが。)