問題タブ [shell-exec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - shell_exec('passwd')を使用してユーザーのパスワードを変更する
(制御された環境で)Webページを介してユーザーのパスワードを変更できる必要があります。したがって、そのために、私はこのコードを使用しています:
私の問題は、このスクリプトがユーザー「testUser」のパスワードを変更していないことです。私は何が間違っているのですか?
ありがとう
php - PHP Shell_execでスペースを適切に処理するにはどうすればよいですか?
cmd-lineを介してwin2003サーバーPHP526で実行しています。
コマンドライン文字列があります:
PHPコードでこれを行おうとしています
-p argを「d:\ data」として解釈するため、foo.exeは失敗します。
ただし、$cdm
Windowsシェルコマンドラインにコピーされた同じ文字列は正常に実行されます。
PHPでスペースを適切に処理するにはどうすればよいshell_exec
ですか?
php - cygwin 経由の php shell_exec()
を介して LaTeX コードをコンパイルするスクリプトを作成しpdftex
ました。問題は、pdftex
Linux でしか動作しないことです。
を使用してこのタスクを達成していますshell_exec()
。
LinuxボックスをWebサーバーとしてセットアップする機能が実際にはありません。クライアント コンピュータがありますが、制御できないファイアウォールの背後にあります。Apache と php を実行する Windows 2000 仮想マシンで SBS 2003 を実行している作業サーバーを制御しています。私の知る限り、pdftex
Windows にインストールすることはできませんshell_exec()
。
cygwin でこれを回避する方法はありますか? cygwin に pdftex をインストールしてから、shell_exec()
cygwin 内でコマンドを実行するように php を構成できます。これが可能であれば、誰かが私を正しい方向に向けることができますか?
また、別の行動方針があるのだろうか。ホスティングを購入してもかまいませんが、共有ホスティング プランはアプリをサポートしません。仮想または専用のホスティング プランである必要があります。余裕がないもの。
php - cmd.exe を開かずに Windows 上の PHP で Exec() を実行する セキュリティ上の弱点?
Web スクリプトで exe ファイルを実行し、exe の結果を Web 要求に返す必要があります。
exe の結果をエコー バックするか、exe を変更して結果をファイルに保存し、そのファイルを読み取って Web 要求をエコー バックすることができます。
問題は、IIS 匿名ユーザー IUSER_%COMPUTER_NAME% が C:\windows\system32\cmd にアクセスできないため、IIS で php を使用すると、すべての exec() shell_execute() system() タイプ関数が「Unable to fork」でエラーになることです。 。EXE
これは、この IIS 匿名ユーザーの cmd.exe に対するアクセス許可を変更することで修正できますが、これは重大なセキュリティの弱体化です (私は信じています)。
IIS の匿名ユーザーに対して cmd.exe を開かずに、IIS の下の PHP スクリプトで Exe を呼び出す方法はありますか?
助けていただければ幸いです。
なぜこれを行う必要があるのですか?私はシリアル キー ジェネレーターを持っています。誰かがクレジット カード経由で私の製品を購入すると、支払い処理業者はライセンス名をパラメーターとして渡す URL を呼び出し、そのライセンス名のシリアル番号を返す必要があります。
私のライセンス キー ジェネレーターは WinLicense で、これには exe があります。
次のようなものを実行する必要があります
shell_exec("C:\inetpub\wwwroot\test.com\testLicense.exe \"".$regName."\""); // または exec() または system()
(testLicense.exe は、私の php スクリプトがエコーできるファイルに結果を保存します)
php - PHP で shell_exec を使用してファイルを圧縮する: パスの問題
私は、ユーザーがバックアップしたもののリストから選択したファイルを含むzipファイルをダウンロードできるようにするWebバックアップサービスの一部に取り組んでいます。
zip プロセスは、shell_exec コマンドを介して実行されます。これを機能させるために、Apache ユーザーにパスワードなしの sudo 特権を zip コマンドに与えました。
私の問題は、ユーザーのバックアップファイルを含むフォルダーに「sudo cd /path/to/user/files」を実行できないため、圧縮するファイルへの完全な絶対パスを指定する必要があることです。私が欲しくないzipファイル。
これが私が意味することです:
ユーザー 'test1' のファイルはバックアップされており、次のように保存されて
い
ます
。 pics/pic3.jpg
/home/backups/test1/hello.txt
/home/backups/test1/music/band/song.mp3
これらのファイルを圧縮すると、完全なパスが保持されますが、表示したいだけです:
my pics/pic1.jpg
my pics/pic2.jpg
my pics/pic3.jpg
hello.txt
music/band/song.mp3
パスを切り捨てるか、各ファイルのカスタム パスを指定するように zip に指示する方法はありますか?
または、相対ファイル パスを簡単に指定できるように、作業ディレクトリをユーザーのルート バックアップ フォルダに変更する方法はありますか。
お読みいただきありがとうございます。ここまで読んでいただければ幸いです。
php - PHPでシェルスクリプトを実行中にエラーが発生しました
次の方法でシェルコマンドを実行しようとしています:
しかし、それは何の出力も与えません。その理由は何ですか?
機能しませんが、次の行は期待どおりに機能します。
php - PHPのshell_execでbashを呼び出す--slow
PHPのshell_exec関数を使用して、サーバーでbashスクリプトを呼び出しています。
さて、以前はCGIスクリプト( "bash -x ...")からコマンドを実行していましたが、はるかに高速でした(瞬時)。これで、スクリプトが実行され(> 10秒)、結果のページがレンダリングされるまでに非常に遅い時間がかかります。
なぜこれがとても遅いのか、何か考えはありますか?サイト全体がPHPに変換されているため、CGIではなくPHPからbashスクリプトを実行したいと思います。おそらく別の関数がより適していますか?任意のアイデアをいただければ幸いです。
java - 外部ライブラリに依存する Java プログラムの呼び出し
PHPでJavaプログラムを呼び出して、Webインターフェイスで使用しようとしています。
Java プログラムは外部ライブラリに依存しています: commons-cli-1.2.jar
したがって、基本的には、Java プログラムを呼び出す前にエクスポートする必要があります。しかし、最初に次のようにエクスポートすると:
次に、Java プログラムを次のように呼び出します。
呼び出しごとに異なるシェルが作成されると思います。その場合、エクスポートは Java プログラムに影響しません。それとも私が間違っていますか?
それ以外の場合は、サーバーにファイルを出力する必要があります。しかし、単にそうではありません。それで、何が悪いのですか?何か案が?
編集:ただし、para_i などの一部のパラメーターは入力ファイル名を表しているため、そのフルパスを指定する必要があるためでしょうか? 入力ファイルが同じ作業ディレクトリにあると仮定しているだけなので、問題はありませんよね?
edit-2: コマンドラインを使用すると正しく出力されます;)
php - unrar.exeを使用したPHPexec_shell
私は次のphpコードを実行しています。
これは機能していません...同じディレクトリにファイルを抽出したいのですが。execの内容をコマンドラインプロンプトにコピーすると、問題なく動作するため、少し混乱します。
次のことを試してください。
unrarヘルプファイルの最後の行を返します(これは予期されています)。
php - exec() する前に文字列を保護する
ユーザーが入力した $imageurl を受け取り、次のことを行う PHP アプリがあります。
明らかに、ユーザーが任意のコードを実行するのを防ぐために、これに関していくつかの予防策を講じる必要があります。たとえば、ユーザーが に設定$url
した場合、";rm -rf *;"
まったくダメです。
"
したがって、まず、何を入力しても、入力が へのパラメーターであることから逃れることができないように、フィルターで除外する必要がありますconvert
。;
しかし、私も同様に除外する必要がありますか? セミコロンが含まれる URL を見たことがあります...ここではセミコロンが本当に危険ですが、フィルタで除外し"
ても安全ですよね? しかし、URLに含めること"
はできますか? 他に注目すべきキャラクターはいますか?
文字を除外する代わりに、文字をエスケープする必要があるかもしれません。では、シェルによって特別に解釈されたすべての文字をエスケープしようとする必要がありますか? "
または、二重引用符で囲まれているため、他のすべてが一種の「事前エスケープ」されているため、単にエスケープしますか?
とりとめのない混乱で申し訳ありません。私はこれが初めてで、安全を確保したいのです!
ありがとう、
マラ