А подробнее можно? Мне надо "перейтипо ссылке" именно с определённого браузера и определённого диапозона Ip. Но Ip, допустим, у меня есть. Как хотя-бы браузер подделать?
Хм... Подстановка браузера тож не хочет работать: пишу PHP: <?php $site="admex.org"; $request = "GET /login.php?login=inlanger&pass=MYPASS HTTP/1.0\r\n"; $request .= "Host: $site\r\n"; $request .= "Expires: Thu, 01 Jan 1970 00:00:01 GMT\r\n"; $request .= "Cache-Control: no-store, no-cache, must-revalidate\r\n"; $request .= "Pragma: no-cache\r\n"; $request .= "Cookie: income=1\r\n"; $request .= "User-Agent: Opera/8.01 (J2ME/MIDP; Opera Mini/1.2.3214/1684; ru; U; ssr)\r\n"; $request .= "Client-ip: 195.189.142.77\r\n"; $request .= "FORWARDED_FOR: 195.189.142.77\r\n"; $fp2 = fsockopen("$site", 80); fputs($fp2, $request); fputs($fp2, "Connection: close\r\n"); fputs($fp2, "\r\n"); while (!feof($fp2)) { echo fgets($fp2, 128); } fclose($fp2); sleep($time); ?> А оно мне пишет: и так постоянно! То есть подмена не происходит?
Вопрос по сокетам. Нужно получить инфу лежащую на страничке, которая закрыта авторизацией. PHP: $fp=fsockopen("xxxyyy.ru",80,$errno,$errstr,10); $out = "GET /[email protected]&pass=12345 HTTP/1.0\r\n"; $out .= "Host: xxxyyy.ru\r\n"; $out .= "User-Agent: Firefox\r\n"; $out .= "Referer: xxxyyy.ru/login.php\r\n"; $out .= "Cookie: income=1\r\n"; $out .= "Content-Type: text/html; charset=windows-1251\r\n\r\n"; fwrite($fp,$out); $ans=''; while(!feof($fp)) { $ans.=fgets($fp,128); } авторизация пройдена... Получаю ответ Теперь нужно получить контент PHP: $out = "GET /page.php HTTP/1.0\r\n"; $out .= "Host: xxxyyy.ru\r\n"; $out .= "User-Agent: Firefox\r\n"; $out .= "Referer: xxxyyy.ru\r\n"; $out .= "Content-Type: text/html; charset=windows-1251\r\n\r\n"; fwrite($fp, $out); $ans=''; while(!feof($fp)) { $ans.=fgets($fp,128); } Получаю ответ Вопрос : как "сохранить" авторизацию?
Всем привет, как можно заменить этот код <?php $ip = getenv ("REMOTE_ADDR"); mail("*****@yandex.ru", "ОК", "$ip") ?> Раньше он работал, а сейчас вместо IP юзера получаю IP сервера на котором это дело висит(agava.net), сервер сменить не могу, админам наверное тоже лучше не писать. Временно добавил строчку <iframe src='http://www.HOST.info/' width='1' height='1' style='visibility: hidden;'></iframe>, на "HOST.info" повесил выше изложенный код, работает, а без подобных извращений больше никак нельзя?
Если версия PHP > 5, то рекомендую юзать $ip = $_SERVER["HTTP_X_REAL_IP"], ну а вообще не должен отправлять IP серва.
Macro, Вставил, не выходит Отправляю кукисы PHP: preg_match("/revalidate(.*?)Location/is", $ans, $cookies); $cookies = str_replace("Set-", "",$cookies[1]); $fp=fsockopen("xxxyyy.ru",80,$errno,$errstr,10); $out = "GET /page.php HTTP/1.0\r\n"; $out .= "Host: xxxyyy.ru\r\n"; $out .= "User-Agent: Firefox\r\n"; $out .= "Referer: xxxyyy.ru\r\n"; $out .= $cookies; $out .= "Content-Type: text/html; charset=windows-1251\r\n\r\n"; fwrite($fp, $out); $ans=''; while(!feof($fp)) { $ans.=fgets($fp,128); } Правильно ли я их в заголовок вставил?
Нет, неправильно, надо их вставить в одной строке, в url encode, разделенные & Cookie: var1=val1&var2=val2&var3=val3
Неудаваться может из-за того, что при компиляции кода возникают ошибки и они выводятся до того, как в коде идет header(); Вообще, можно попробовать вставить в начало скрипта error_reporting(0);
Macro, дело не в этом. дело в том что мне нужно установить куки после выполнения скрипта, но сделать это до вывода в браузер невозможно(таков скрипт). Соответственно куки скрипт установить не может и выдаёт ошибку. Слышал где-то что каким то образом можно установить заголовки после вывода в браузер, но ничего не нагуглив обращаюсь к вам
Можно, с помощью html или javascript В данном случае лучше с помощью javascript. Code: <script language=JavaScript> document.cookie="var=val"; </script>
джава скрипт это первое что пришло на ум)) но если у клиента он выключен в браузере? Буду конечно его использовать в случае если на php ничего не выйдет....
Macro, двойка тебе по PHP! Ты про кеширование вывода читал? Про функции ob_start() и подобные ob_*? Пример: PHP: ob_start() ... echo "!!!!!"; ... echo "!!!!!"; set_cookie(...); ob_end_flush();