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
Знаю пишу херово)
В итоге там ввели токены на бои и т.д. и возникли проблемы.
Крч, curl-ом я авторизовываюсь все дела, бегаю по сайту, но когда дело доходит до боев, то не получается.
Ссылка на бои по типу: https://normans.mobi/arena/mercenary?name=silver&token_get=cnTNW8xOre
Токен на конце меняется. Я забираю все ссылку и перехожу curl-ом, но игра выдает ошибку мол: Ты совершил одно действие несколько раз подряд, либо пробуешь играть с нескольких мест одновременно
curl выглядит вот так:
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;
}
Шапка с браузера:
: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
Знаю пишу херово)
Интересно , зачем писать бота на шлак игру с онлайном ноль

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
Знаю пишу херово)
На питоне легче делать боты.Многие пишут
Пишу бота к игре: https://normans.mobi/
В итоге там ввели токены на бои и т.д. и возникли проблемы.
Крч, curl-ом я авторизовываюсь все дела, бегаю по сайту, но когда дело доходит до боев, то не получается.
Ссылка на бои по типу: https://normans.mobi/arena/mercenary?name=silver&token_get=cnTNW8xOre
Токен на конце меняется. Я забираю все ссылку и перехожу curl-ом, но игра выдает ошибку мол: Ты совершил одно действие несколько раз подряд, либо пробуешь играть с нескольких мест одновременно
curl выглядит вот так:
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;
}
Шапка с браузера:
: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
Знаю пишу херово)
Для защиты от подобных действий и существуют CSRF токены ну или что-то в этом роде.
В большинстве случаев используется при отправке сообщений на сервер с форм сайта, при отправке идет сверка CSRF ключа если не верный то выдает ошибку. Так же можно прикрутить и использовать как в GET так и в POST запросах.
Возможно разработчик игры и сделал эти ключи что бы не могли юзать ботов.
Сам ключ через CURL получить будет сложно а может и вовсе невозможно.
В большинстве случаев используется при отправке сообщений на сервер с форм сайта, при отправке идет сверка CSRF ключа если не верный то выдает ошибку. Так же можно прикрутить и использовать как в GET так и в POST запросах.
Возможно разработчик игры и сделал эти ключи что бы не могли юзать ботов.
Сам ключ через CURL получить будет сложно а может и вовсе невозможно.