URL — очистка ненадежных входов, которые создают команды ОС в PHP?

Как удалить ненадежные входы, которые строят команды OS из URL в PHP?

Когда я запускаю автоматическое тестирование zaproxy, я получаю предупреждение о P1, что ваши входные данные создают команды os. Поэтому я хочу знать, как очистить эти команды.

1

Решение

использование escapeshellarg() а также escapeshellcmd() экранировать данные для использования в качестве команды оболочки или аргумента.

// escapes a single argument
// sample input: "/foo/bar/"$argument = escapeshellarg($userInput1);
exec("ls $argument");

// escapes all special characters like [];{} for usage in command line
// sample input: "ls -l; rm -rf /"$command = escapeshellcmd($userInput2);
exec($command);

Вы должны использовать обе команды вместе, чтобы пользователи не могли выполнять произвольные запятые на вашем сервере.

Документация:

http://php.net/manual/en/function.escapeshellarg.php
http://php.net/manual/en/function.escapeshellcmd.php

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]