Передача переменной GET в php EXEC

Я пробовал искать, но не получил много извинений, если на это что-то ответят.

Я играю с несколькими кусочками, и я пытался передать переменную URL в EXEC. Вот что я пытался .. sc.exe – это программа, которую я должен передать URL-адресу: переменная $ GET_ID должна поступать из URL-адреса

$GET_ID =$_GET= ['myid']; exec('sc.exe --url=http://localhost/DS1/test.php?ID='.$GET_ID.'&TEST=1'); echo $GET_ID; 

Когда я пытаюсь выполнить этот код, переменная GET, похоже, не передается, программа получает http: //localhost/DS1/test.php? ID = & TEST = 1 '

Я немного искал … и это похоже на ограничение рода. Итак, каково решение / обходное решение?

благодаря

Solutions Collecting From Web of "Передача переменной GET в php EXEC"

У вас есть дополнительный = в вашем коде. Это должно работать:

 $GET_ID = $_GET['myid']; 

однако непосредственная передача пользовательских данных в командную строку крайне опасна! Он позволяет злоумышленнику выполнять произвольные команды в командной строке.

Вы должны использовать escapeshellarg() :

 $GET_ID = escapeshellarg($_GET['myid']); 

Просто удалите = после $ _GET.