Выполнение системных команд через HTML страницу на Bootstrap 5 и PHP

В современной веб-разработке часто возникает необходимость выполнения системных команд на стороне сервера для автоматизации различных задач. Одним из способов реализации такой функциональности является использование HTML страницы с подключенным фреймворком Bootstrap 5 и обработчика на PHP, который будет выполнять системные команды и возвращать результаты обратно на страницу.

Шаг 1: Создание HTML страницы

Первым шагом создадим простую HTML страницу с использованием Bootstrap 5. В данном примере мы будем использовать форму для отправки данных на сервер и отображения результатов выполнения команды.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>System Command Executor</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GMG9tYlDEK+JCIHcqhV/VMF1cLLRmDN5thytMQo,hyIGz5OUS7ggRpSmoNQ" crossorigin="anonymous">
</head>
<body>
    <div class="container mt-5">
        <form action="command_executor.php" method="post">
            <div class="mb-3">
                <label for="command" class="form-label">Введите команду:</label>
                <input type="text" id="command" name="command" class="form-control" required>
            </div>
            <button type="submit" class="btn btn-primary">Выполнить</button>
        </form>
        <div id="result"></div>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-pprn3073KE6tl6bjs2QrFaJGz5/SUsLqktiwsUTF55Jfv3qYSDhgCecCxMW52nD2" crossorigin="anonymous"></script>
</body>
</html>

Результат:


Шаг 2: Создание обработчика на PHP

Теперь создадим файл «command_executor.php», который будет обрабатывать POST запрос и выполнять системную команду. Важно отметить, что выполнение системных команд может представлять угрозу безопасности, поэтому следует тщательно проверять входные данные и использовать соответствующие механизмы защиты.
<?php
// Проверяем, был ли отправлен POST запрос
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['command'])) {
    // Получаем команду из формы
    $command = $_POST['command'];
    
    // Выполняем команду и сохраняем вывод в переменной
    $output = shell_exec($command);
    
    // Очищаем вывод и закрываем сессию
    ob_end_clean();
    session_write_close();
    
    // Отправляем вывод обратно клиенту
    echo $output;
} else {
    // Если команда не была отправлена, выводим сообщение об ошибке
    echo "Ошибка: Команда не была отправлена.";
}
?>

Шаг 3: Запуск и тестирование

После того как HTML страница и PHP скрипт созданы, их необходимо разместить на сервере с поддержкой PHP. После этого можно открыть страницу в браузере и ввести любую допустимую системную команду (например, «uname -a»), чтобы увидеть результат её выполнения.

Запрос:


Результат:


Безопасность

При использовании данного подхода важно помнить о безопасности. Никогда не следует доверять пользовательским данным без проверки. Все входные данные должны быть проверены и очищены от потенциально опасного содержимого. Также следует убедиться, что выполнение системных команд разрешено только авторизованным пользователям и только для тех команд, которые необходимы для работы приложения.
Поделиться:

Похожие публикации

Тут ничего нет

Нет комментариев