PHP/MySQL | Пишу бота, но есть проблема
Пишу бота к игре: https://normans.mobi/ В итоге там ввели токены на бои и т.д. и возникли проблемы. Крч, curl-ом я авторизовываюсь все дела, бегаю по сайту, но когда дело доходит до боев, то не получается. Ссылка на бои по типу: https://normans.mobi/arena/mercenary?name=silver&token_get=cnTNW8xOre Токен на конце меняется. Я забираю все ссылку и перехожу curl-ом, но игра выдает ошибку мол: Ты совершил одно действие несколько раз подряд, либо пробуешь играть с нескольких мест одновременно curl выглядит вот так: Шапка с браузера: :authority: normans.mobi :method: GET :path: / :scheme: https accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 accept-encoding: gzip, deflate, br accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7 cookie: куки dnt: 1 sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="100", "Google Chrome";v="100" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" sec-fetch-dest: document sec-fetch-mode: navigate sec-fetch-site: none sec-fetch-user: ?1 upgrade-insecure-requests: 1 user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 Знаю пишу херово)
php
function get($url, $post = NULL){ global $last_url; $headers = []; //$headers[] = "Content-Type:multipart/form-data"; //$headers[] = "cookie:".$c; //$headers[] = 'Host:104.21.34.244:443'; $url = str_replace('https://normans.mobi', '', $url); $curl = curl_init(); curl_setopt($curl, CURLOPT_COOKIESESSION, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_COOKIEFILE, $_SERVER["DOCUMENT_ROOT"].'/cookie.txt'); curl_setopt($curl, CURLOPT_COOKIEJAR, $_SERVER["DOCUMENT_ROOT"].'/cookie.txt'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36'); curl_setopt($curl, CURLOPT_URL, 'https://normans.mobi' . $url); curl_setopt($curl, CURLOPT_REFERER, $last_url); if (!empty($post)) curl_setopt($curl, CURLOPT_POSTFIELDS, $post); $result = curl_exec($curl); $last_url = "https://normans.mobi".$url; return $result; }
Интересно , зачем писать бота на шлак игру с онлайном ноль
monobogdan , не думаю что там нулевый, но просто как ностальгия для тех кто играл в викингов
monobogdan (11.04.2022 в 15:25)
Интересно , зачем писать бота на шлак игру с онлайном ноль
Интересно , зачем писать бота на шлак игру с онлайном ноль
Согласен, зашел перекрестился вышел со сломанными глазами и психикой
monobogdan (11.04.2022 в 15:25)
Интересно , зачем писать бота на шлак игру с онлайном ноль
Интересно , зачем писать бота на шлак игру с онлайном ноль
Ну человеку хочется, пусть делает, ничего же он плохого не делает (ну почти=))
________
посл. ред. 12.04.2022 в 01:24; всего 1 раз(а); by Amney
monobogdan (11.04.2022 в 15:25)
Интересно , зачем писать бота на шлак игру с онлайном ноль
Интересно , зачем писать бота на шлак игру с онлайном ноль
Научит потом сделает на норм игра
________
посл. ред. 12.04.2022 в 02:15; всего 2 раз(а); by ARHILES
ApsenT (11.04.2022 в 14:31) Пишу бота к игре: https://normans.mobi/ В итоге там ввели токены на бои и т.д. и возникли проблемы. Крч, curl-ом я авторизовываюсь все дела, бегаю по сайту, но когда дело доходит до боев, то не получается. Ссылка на бои по типу: https://normans.mobi/arena/mercenary?name=silver&token_get=cnTNW8xOre Токен на конце меняется. Я забираю все ссылку и перехожу curl-ом, но игра выдает ошибку мол: Ты совершил одно действие несколько раз подряд, либо пробуешь играть с нескольких мест одновременно curl выглядит вот так: Шапка с браузера: :authority: normans.mobi :method: GET :path: / :scheme: https accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 accept-encoding: gzip, deflate, br accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7 cookie: куки dnt: 1 sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="100", "Google Chrome";v="100" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" sec-fetch-dest: document sec-fetch-mode: navigate sec-fetch-site: none sec-fetch-user: ?1 upgrade-insecure-requests: 1 user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 Знаю пишу херово)
На питоне легче делать боты.Многие пишут
php
function get($url, $post = NULL){ global $last_url; $headers = []; //$headers[] = "Content-Type:multipart/form-data"; //$headers[] = "cookie:".$c; //$headers[] = 'Host:104.21.34.244:443'; $url = str_replace('https://normans.mobi', '', $url); $curl = curl_init(); curl_setopt($curl, CURLOPT_COOKIESESSION, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_COOKIEFILE, $_SERVER["DOCUMENT_ROOT"].'/cookie.txt'); curl_setopt($curl, CURLOPT_COOKIEJAR, $_SERVER["DOCUMENT_ROOT"].'/cookie.txt'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36'); curl_setopt($curl, CURLOPT_URL, 'https://normans.mobi' . $url); curl_setopt($curl, CURLOPT_REFERER, $last_url); if (!empty($post)) curl_setopt($curl, CURLOPT_POSTFIELDS, $post); $result = curl_exec($curl); $last_url = "https://normans.mobi".$url; return $result; }
Для защиты от подобных действий и существуют CSRF токены ну или что-то в этом роде.
В большинстве случаев используется при отправке сообщений на сервер с форм сайта, при отправке идет сверка CSRF ключа если не верный то выдает ошибку. Так же можно прикрутить и использовать как в GET так и в POST запросах.
Возможно разработчик игры и сделал эти ключи что бы не могли юзать ботов.
Сам ключ через CURL получить будет сложно а может и вовсе невозможно.
В большинстве случаев используется при отправке сообщений на сервер с форм сайта, при отправке идет сверка CSRF ключа если не верный то выдает ошибку. Так же можно прикрутить и использовать как в GET так и в POST запросах.
Возможно разработчик игры и сделал эти ключи что бы не могли юзать ботов.
Сам ключ через CURL получить будет сложно а может и вовсе невозможно.