Я попытался запустить команду ping с помощью php:
<?php
$response = shell_exec('ping -c 4 '. $_POST['host']);
echo "<div class=\"response\">".$response."</div>";
?>
Но я отправляю имя хоста из поля ввода, а затем запускаю этот скрипт php. Это работает, но вывод результатов отображается только при успешном выполнении команды, а не в интерактивном режиме.
Когда я даю «www.google.com», он показывает результаты в интерактивных манерах. Можете ли вы помочь мне построить интерактивный как w3dt.net или предложите мне другой способ добиться этого.
Инструмент, на который вы ссылаетесь, использует WebSockets для визуализации «интерактивного» вывода.
Вы никогда не должны передавать какой-либо непроверенный пользовательский ввод в вызов shell_exec (), так как это позволит любому пользователю выполнить практически любую команду оболочки (указав, скажем, «google.com»). && rm -rf / «в качестве имени хоста).
Других решений пока нет …