Войти

Показать полную графическую версию : Картинка в подпись с Инфой о клиенте


PERMYAK
05-08-2009, 18:41
Есть форум на движке PHPbb. Как седлать так, чтоб бы у меня в подписи было виндо другим пользователям, какой у них ип, клиент, ос и всё это дело было на картинке ? Так же надо добавть, чтоб была проверка порта 11725. и на картинке в готовом виде отрожалась открыт порт или закрыт

Права доступа к сайту, полные. буду благодарен, если очень подробно распишите

doomspace
17-08-2009, 12:24
при логине сделать скрытые поля java-script в которые бы вставлял значения клиент, ос,... (параметры которые определяются на стороне клиента).
на последующих страничках принимать эти данные на php (так как сам php не может узнать о клиенте ничего, так как выполняется на стороне сервера, но через java-script прекрасно приймет и обработает любые значения.)


<?php

$ip =getenv("REMOTE_ADDR");

$s=socket_create(AF_INET, SOCK_STREAM, 0);
$res=@socket_connect($s, $ip, 11725);
if ($res) {$porrt="yes"}
}
?>


создаём файлик
img.php


<?
$texxt= $_GET['valuee'];
// создаем каритнку:
$im = imagecreate(60,20);
// бледно зеленый фон...
imageColorAllocate($im,153,204,153);
// ... с зелеными:
$green = imageColorAllocate($im,0,128,0);
// ... текстом
imagestring($im,10,5,2,$texxt,$green);

imageGif($im);
header("Content-Type: image/gif");

?>

Вызываем картинку:

<?php echo"<img src=\"img.php?valuee=$porrt\" >"; ?>

в valuee=.... можно дописывать уже что угодно. Размеры картинки и её стиль подбирайте из своих соображений.

Artem-Samsung
19-08-2009, 12:23
Еще здесь (http://forum.oszone.ru/thread-120332.html)

PERMYAK
21-08-2009, 10:44
Спс, будем мучать

doomspace
21-08-2009, 10:52
PERMYAK, прочти внимательней мой код. На картинке в случае открытого порта выводится текст "yes" (изменить можно как угодно, на своё усмотрение...)

doomspace
21-08-2009, 12:23
1) растянул картинку
<?
$texxt= $_GET['valuee'];
// создаем каритнку:
$im = imagecreate(1000,40);
// бледно зеленый фон...
imageColorAllocate($im,153,204,153);
// ... с зелеными:
$green = imageColorAllocate($im,0,128,0);
// ... текстом
imagestring($im,10,5,2,$texxt,$green);

imageGif($im);
header("Content-Type: image/gif");

?>
2)
<html>
<head></head>
<body>
<?php

class Browser {

function detect() {
$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);


if (preg_match('/opera/', $userAgent)) {
$name = 'opera';
}
elseif (preg_match('/webkit/', $userAgent)) {
$name = 'safari';
}
elseif (preg_match('/msie/', $userAgent)) {
$name = 'msie';
}
elseif (preg_match('/mozilla/', $userAgent) && !preg_match('/compatible/', $userAgent)) {
$name = 'mozilla';
}
else {
$name = 'unrecognized';
}

// What version?
if (preg_match('/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/', $userAgent, $matches)) {
$version = $matches[1];
}
else {
$version = 'unknown';
}

// Running on what platform?
if (preg_match('/linux/', $userAgent)) {
$platform = 'linux';
}
elseif (preg_match('/macintosh|mac os x/', $userAgent)) {
$platform = 'mac';
}
elseif (preg_match('/windows|win32/', $userAgent)) {
$platform = 'windows';
}
else {
$platform = 'unrecognized';
}

return array(
'name' => $name,
'version' => $version,
'platform' => $platform,
'userAgent' => $userAgent
);
}
}


$ip =getenv("REMOTE_ADDR");
$myport = "11725";
$browwser = $HTTP_USER_AGENT;



$browser = Browser::detect();

$fp = fsockopen("udp://".$ip,$myport,$errno,$errstr,10);
if(!$fp)
{
$texxxt=$myport." on ".$ip." closed \n\r".'You browser is '.$browser['name'].' version '.$browser['version'].' running on '.$browser['platform'];
echo"<img src=\"img.php?valuee=$texxxt\" >";
}

else{
$texxxt=$myport." on ".$ip." open \n\r".'You browser is '.$browser['name'].' version '.$browser['version'].' running on '.$browser['platform'];
echo"<img src=\"img.php?valuee=$texxxt\" >";

fclose($fp);
}


?>
</body>
</html>




© OSzone.net 2001-2012