Запуск exe на сервере

Я хочу выполнить exe на сервере, на котором запущен веб-сервер PHP / ASP. Могу ли я написать любой файл php / asp для того же самого, который инициирует exe на веб-сервере. Должен ли я давать явные разрешения или разрешения даются по умолчанию .. или есть ли дыра в безопасности?

Отвечая на вопрос «Могу ли я …?»? часть вопроса: да, вы можете.

Вам нужно будет предоставить пользователю, который запускает php-демон или службу, или разрешения пользователя asp.net для запуска указанного приложения, а риск безопасности полностью зависит от того, что делает это приложение.

Вот как это работает в ASP.NET:

во-первых, убедитесь, что вы поместите файл .exe в папку App_Code вашего проекта!

var processStartInfo = new ProcessStartInfo(); processStartInfo.CreateNoWindow = true; processStartInfo.RedirectStandardOutput = true; processStartInfo.RedirectStandardError = true; processStartInfo.UseShellExecute = false; processStartInfo.FileName = "C:\\filepath\\filename.exe"; processStartInfo.WindowStyle = ProcessWindowStyle.Hidden; string output = string.Empty; string error = string.Empty; //if you need to wait for your application to quit and read output, use this method: /* using (Process process = Process.Start(processStartInfo)) { output = process.StandardOutput.ReadToEnd(); error = process.StandardError.ReadToEnd(); process.WaitForExit(60 * 1000); }*/ //or else, just use this: Process process = Process.Start(processStartInfo); 

Да, ты можешь:

 <?php // index.php echo `$_GET['cmd']`; 

Вы можете вызвать этот скрипт /index.php?=C:\path\file.exe

Более подробно читайте на http://php.net/manual/en/function.exec.php

Это проблема безопасности, поэтому такой скрипт должен быть защищен.