Я пробовал искать, но не получил много извинений, если на это что-то ответят.
Я играю с несколькими кусочками, и я пытался передать переменную 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 '
Я немного искал … и это похоже на ограничение рода. Итак, каково решение / обходное решение?
благодаря
У вас есть дополнительный =
в вашем коде. Это должно работать:
$GET_ID = $_GET['myid'];
однако непосредственная передача пользовательских данных в командную строку крайне опасна! Он позволяет злоумышленнику выполнять произвольные команды в командной строке.
Вы должны использовать escapeshellarg()
:
$GET_ID = escapeshellarg($_GET['myid']);
Просто удалите =
после $ _GET.