2010-11-18 11 views
2

私のWebページ(HTML)からcmdウィンドウを開きたい。私はJSを使用していますが、何かが正しくないのは、私が押すと関数が呼び出されないためです。ブラウザからcmdを実行 - JS

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<script type="text/javascript"> 
<!-- 
function runCmd(command, option) 
{ 
    var char34 = String.fromCharCode(34); 
    var wsh = new ActiveXObject('WScript.Shell'); 
    if (wsh) 
    { 
     command = 'cmd /k ' + char34 + wsh.ExpandEnvironmentStrings(command) + ' '; 
     command = command + char34 + wsh.ExpandEnvironmentStrings(option) + char34 + char34; 
     if (confirm(command)) 
     { 
      wsh.Run(command); 
     } 
    } 
} 
//--> 
</script> 
</head> 

<body> 

<input type="button" value="Run!" onclick="runCmd(‘notepad.exe’, ‘%programfiles%\file.txt’);" /> 
</body> 
</html> 

EDIT: 私はPHPとしてそれを保存し、今私はFFでエラーが発生している:

ActiveXObject is not defined 
[Break on this error] var wsh = new ActiveXObject('WScript.Shell'); 

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

+0

どのブラウザでですか?あなたはIEを使用しており、ページは信頼できるWebサイトにありますか? (IEなどで潜在的に危険なものを実行するために必要なもの) –

+0

IEとFF ...はい、信頼できるWebサイト。 – Ronny

+3

そして、あなたは 'eval()'は悪いです... –

答えて

9

基本的にブラウザのすべてのセキュリティ機能をオフにする必要があります(ActiveXを使用するには、さまざまなInternet Explorerが必要です)。

この種のものはほとんどのブラウザでは許可されていませんが、[インターネット上のランダムな人物]がウェブページにアクセスするだけで、自分のコンピュータで必要なものを実行できるのではないかと想像できますか? documentsによると

+0

これは問題が確実ですか?私は 'alert(" here ");'を先頭に追加しようとしましたが、警告は表示されませんでした。 – Ronny

0

このオブジェクトは、Microsoftの拡張機能であり、唯一のインターネット Explorerでサポートされています...

ActiveXObjectInternet Explorer内部のみ追加の権限でのみ使用可能で、いくつかの警告メッセージ。クライアントコンピュータにいくつかのセキュリティ問題があるため、他のブラウザではサポートされていないと考えるかもしれません。

関連する問題