Показать полную графическую версию : Картинка в подпись с Инфой о клиенте
Есть форум на движке 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)
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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.