PHP, MySQL | Бот для Бумас
php
<?php session_start(); // Начало сессии // URL для автоматического входа и защищенной страницы $loginUrl = 'https://bym.guru/user/login.php'; // URL для входа $protectedUrl = 'https://bym.guru/'; // URL защищенной страницы $loginStatus = ''; $protectedPageContent = ''; // Проверка, была ли отправлена форма для входа if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'login') { $username = isset($_POST['username']) ? $_POST['username'] : ''; $password = isset($_POST['password']) ? $_POST['password'] : ''; // Инициализация cURL $ch = curl_init(); // Настройка cURL для входа curl_setopt($ch, CURLOPT_URL, $loginUrl); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array( 'username' => $username, 'password' => $password, ))); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // Следовать за редиректами curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // Сохранение cookies // Выполнение запроса $response = curl_exec($ch); // Проверка на ошибки if (curl_errno($ch)) { $loginStatus = 'Ошибка cURL: ' . curl_error($ch); } else { $loginStatus = 'Вход выполнен успешно'; $_SESSION['logged_in'] = true; } // Закрытие cURL curl_close($ch); } // Получение защищенной страницы if (isset($_SESSION['logged_in']) && $_SESSION['logged_in']) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $protectedUrl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); // Использование cookies для авторизации // Выполнение запроса $protectedPageContent = curl_exec($ch); // Проверка на ошибки if (curl_errno($ch)) { $loginStatus = 'Ошибка cURL: ' . curl_error($ch); } else if (strpos($protectedPageContent, 'Подключаемый файл не найден!') !== false) { $loginStatus = 'Ошибка: Подключаемый файл не найден!'; $protectedPageContent = ''; // Очистить содержимое } // Закрытие cURL curl_close($ch); } ?> <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Автоматический вход и взаимодействие с сайтом</title> <style> body { font-family: Arial, sans-serif; text-align: center; margin-top: 50px; } form { display: inline-block; text-align: left; max-width: 300px; margin: 0 auto; } input[type="text"], input[type="password"] { width: 100%; padding: 8px; margin: 8px 0; box-sizing: border-box; } button { padding: 10px 15px; font-size: 16px; cursor: pointer; } .status { margin-top: 20px; font-weight: bold; } .protected-content { margin-top: 20px; border: 1px solid #ccc; padding: 10px; max-width: 800px; margin-left: auto; margin-right: auto; } </style> </head> <body> <h1>Автоматический вход и взаимодействие с сайтом</h1> <?php if (!isset($_SESSION['logged_in']) || !$_SESSION['logged_in']): ?> <form method="POST"> <label for="username">Логин:</label> <input type="text" id="username" name="username" required> <br> <label for="password">Пароль:</label> <input type="password" id="password" name="password" required> <br> <button type="submit" name="action" value="login">Войти</button> </form> <?php else: ?> <div class="status"><?php echo $loginStatus; ?></div> <div class="protected-content"> <h2>Содержимое защищенной страницы:</h2> <?php echo $protectedPageContent; ?> </div> <a href="auto_login.php?logout=true">Выйти</a> <?php endif; ?> <?php // Логика выхода if (isset($_GET['logout']) && $_GET['logout'] === 'true') { session_unset(); session_destroy(); if (file_exists('cookie.txt')) { unlink('cookie.txt'); // Удаление файла cookies } header('Location: auto_login.php'); exit(); } ?> </body> </html>
простой ботнет на php
php
<?php // Файл для хранения логов $logFile = 'human_like_bot_logs.txt'; // Функция для записи в лог function logAction($message) { global $logFile; $logEntry = date('Y-m-d H:i:s') . " - $message" . PHP_EOL; file_put_contents($logFile, $logEntry, FILE_APPEND); } // Функция для имитации случайной задержки function simulateHumanDelay($min, $max) { $delay = rand($min, $max); usleep($delay * 1000); // Задержка в миллисекундах } // Функция для генерации случайного прогресс-бара function generateProgressBar($percentage) { $barLength = 50; // Длина прогресс-бара $filledLength = intval($barLength * $percentage / 100); $emptyLength = $barLength - $filledLength; $progressBar = '[' . str_repeat('#', $filledLength) . str_repeat('-', $emptyLength) . '] ' . $percentage . '%'; return $progressBar; } // Обработка формы $url = isset($_POST['url']) ? trim($_POST['url']) : ''; $count = isset($_POST['count']) ? intval($_POST['count']) : 0; $progress = 0; if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($url) && $count > 0) { // Логирование начала действия logAction("Бот начал работу для URL: $url с количеством кликов: $count"); // Имитируем переходы по ссылке for ($i = 1; $i <= $count; $i++) { // Имитация случайной задержки simulateHumanDelay(1000, 3000); // Задержка от 1 до 3 секунд // Имитация выполнения действия и генерация прогресс-бара $progress = intval(($i / $count) * 100); $progressBar = generateProgressBar($progress); $actionMessage = "Клик $i/$count по URL: $url. Прогресс: $progressBar"; // Логирование выполненного действия logAction($actionMessage); // Дополнительная задержка перед следующим кликом simulateHumanDelay(1000, 2000); // Задержка от 1 до 2 секунд } // Финальное сообщение logAction("Бот завершил клики по URL: $url"); } ?> <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Имитатор Бота</title> <style> body { font-family: Arial, sans-serif; text-align: center; margin-top: 50px; } .progress-bar { width: 100%; background-color: #f3f3f3; border: 1px solid #ddd; border-radius: 5px; position: relative; height: 30px; } .progress-bar span { display: block; height: 100%; background-color: #4caf50; border-radius: 5px; text-align: center; color: white; line-height: 30px; /* Центрирование текста по вертикали */ } pre { text-align: left; max-width: 80%; margin: 0 auto; background: #f3f3f3; border: 1px solid #ddd; padding: 10px; border-radius: 5px; white-space: pre-wrap; /* Сохранение форматирования */ } </style> </head> <body> <h1>Имитатор Бота</h1> <form method="POST"> <label for="url">Введите URL:</label> <input type="text" id="url" name="url" required> <br><br> <label for="count">Количество кликов:</label> <input type="number" id="count" name="count" min="1" required> <br><br> <button type="submit">Начать</button> </form> <?php if ($progress > 0): ?> <h2>Прогресс</h2> <div class="progress-bar"> <span style="width: <?php echo htmlspecialchars($progress); ?>%"><?php echo htmlspecialchars($progress); ?>%</span> </div> <?php endif; ?> <h2>Логи</h2> <pre><?php echo htmlspecialchars(file_exists($logFile) ? file_get_contents($logFile) : 'Логи отсутствуют.'); ?></pre> </body> </html>
Браво, чат нет норм поработал)
Что за идея?
Просто написать бота, который авторизовывается по твоим данным?)
Просто написать бота, который авторизовывается по твоим данным?)