全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 1253|回复: 5
打印 上一主题 下一主题

[经验] 发个签名显IP代码,几年前的东西

[复制链接]
跳转到指定楼层
1#
发表于 2010-8-18 21:46:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php
  2. if(function_exists(date_default_timezone_set)){
  3.         date_default_timezone_set('Asia/Hong_Kong');
  4. }
  5. Header("Content-type: image/png");      /*通知浏览器,要输出图像*/
  6. $imgname = 'background.png';
  7. $tempim = imagecreatetruecolor(1, 1);
  8. $fontcolor = ImageColorAllocate($tempim , 255 , 255 , 255);
  9. $fontfile = "SIMSUN.TTC";
  10. $efontfile = 'Verdana.ttf';

  11. $im = imagecreatefrompng($imgname); /* Attempt to open */
  12. if(!$im) { /* See if it failed */
  13.         $im  = imagecreatetruecolor(150, 30); /* Create a blank image */
  14.         $bgc = imagecolorallocate($im, 255, 255, 255);
  15.         $tc  = imagecolorallocate($im, 0, 0, 0);
  16.         imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
  17.         /* Output an errmsg */
  18.         imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
  19. }

  20. /*客户端浏览器*/
  21. if(stripos($_SERVER["HTTP_USER_AGENT"],"firefox")){
  22.         $brower = "Firefox";
  23.         preg_match('/firefox\/(.*)/i',$_SERVER["HTTP_USER_AGENT"],$browerVersion);
  24.         $brower .= ' '.$browerVersion[1];
  25. }elseif (stripos($_SERVER['HTTP_USER_AGENT'],"MSIE")){
  26.         $brower = 'Microsoft Internet Explorer';
  27.         preg_match('/MSIE(.*);/iU',$_SERVER["HTTP_USER_AGENT"],$browerVersion);
  28.         $brower .= $browerVersion[1];
  29. }elseif (stripos($_SERVER['HTTP_USER_AGENT'],"Opera")){
  30.         $brower = 'Opera';
  31. }else{
  32.         $brower = 'Unknown Brower';
  33. }
  34. /*客户端IP*/
  35. $userip = getip();

  36. /*客户端操作系统*/
  37. $userOS = getOS();

  38. /*页面title*/
  39. $temp = getTitle();
  40. $title = trim($temp[0]);
  41. $subject = trim($temp[1]);


  42. /*服务器当前时间*/
  43. $timenow = date('Y年m月d日');
  44. $dayInWeek = date('N');
  45. switch($dayInWeek){
  46.         case 1:
  47.                 $weekday = '一';
  48.         break;
  49.         case 2;
  50.                 $weekday = '二';
  51.         break;
  52.         case 3;
  53.                 $weekday = '三';
  54.         break;
  55.         case 4;
  56.                 $weekday = '四';
  57.         break;
  58.         case 5;
  59.                 $weekday = '五';
  60.         break;
  61.         case 6;
  62.                 $weekday = '六';
  63.         break;
  64.         case 7;
  65.                 $weekday = '日';
  66.         break;
  67. }
  68. $timenow .= ' 星期'.$weekday.' '.date('H:i:s');


  69. /*往图片上写数据*/
  70. ImageTTFText($im, 9, 0, 30, 40, $fontcolor , $fontfile , iconv('GB2312','UTF-8','你的浏览器: '));
  71. ImageTTFText($im, 9, 0, 100, 40, $fontcolor , $efontfile , $brower);
  72. ImageTTFText($im, 9, 0, 30, 60, $fontcolor , $fontfile , iconv('GB2312','UTF-8','操作系统为: '));
  73. ImageTTFText($im, 9, 0, 100, 60, $fontcolor , $efontfile , $userOS);
  74. ImageTTFText($im, 9, 0, 30, 80, $fontcolor , $fontfile , iconv('GB2312','UTF-8','你的 '));
  75. ImageTTFText($im, 9, 0, 60, 80, $fontcolor , $efontfile , 'IP');
  76. ImageTTFText($im, 9, 0, 78, 80, $fontcolor , $fontfile , iconv('GB2312','UTF-8','为: '));
  77. ImageTTFText($im, 9, 0, 100, 80, $fontcolor , $efontfile , $userip);
  78. ImageTTFText($im, 9, 0, 30, 100, $fontcolor , $fontfile , iconv('GB2312','UTF-8','你的位置在: 火星'));
  79. ImageTTFText($im, 9, 0, 30, 120, $fontcolor , $fontfile , iconv('GB2312','UTF-8','你正在浏览: '.$title));
  80. ImageTTFText($im, 9, 0, 100, 140, $fontcolor , $fontfile , iconv('GB2312','UTF-8','>>'.$subject));
  81. ImageTTFText($im, 9, 0, 30, 160, $fontcolor , $fontfile , iconv('GB2312','UTF-8',$timenow));

  82. Imagepng($im);
  83. ImageDestroy($im);


  84. function getip()
  85. {
  86.     if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
  87.         $onlineip = getenv('HTTP_CLIENT_IP');
  88.     } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
  89.         $onlineip = getenv('HTTP_X_FORWARDED_FOR');
  90.     } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
  91.         $onlineip = getenv('REMOTE_ADDR');
  92.     } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
  93.         $onlineip = $_SERVER['REMOTE_ADDR'];
  94.     }
  95.     $onlineip = preg_replace("/^([d.]+).*/", "1", $onlineip);
  96.     return $onlineip;
  97. }
  98. function getOS ()
  99. {
  100.         global $_SERVER;
  101.         $agent = $_SERVER['HTTP_USER_AGENT'];
  102.         $os = false;
  103.         if (eregi('win', $agent) && strpos($agent, '95')){
  104.                 $os = 'Windows 95';
  105.         }
  106.         else if (eregi('win 9x', $agent) && strpos($agent, '4.90')){
  107.                 $os = 'Windows ME';
  108.         }
  109.         else if (eregi('win', $agent) && ereg('98', $agent)){
  110.                 $os = 'Windows 98';
  111.         }
  112.         else if (eregi('win', $agent) && eregi('nt 5.1', $agent)){
  113.                 $os = 'Windows XP';
  114.         }
  115.         else if (eregi('win', $agent) && eregi('nt 5', $agent)){
  116.                 $os = 'Windows 2000';
  117.         }
  118.         else if (eregi('win', $agent) && eregi('nt', $agent)){
  119.                 $os = 'Windows NT';
  120.         }
  121.         else if (eregi('win', $agent) && ereg('32', $agent)){
  122.                 $os = 'Windows 32';
  123.         }
  124.         else if (eregi('linux', $agent)){
  125.                 $os = 'Linux';
  126.         }
  127.         else if (eregi('unix', $agent)){
  128.                 $os = 'Unix';
  129.         }
  130.         else if (eregi('sun', $agent) && eregi('os', $agent)){
  131.                 $os = 'SunOS';
  132.         }
  133.         else if (eregi('ibm', $agent) && eregi('os', $agent)){
  134.                 $os = 'IBM OS/2';
  135.         }
  136.         else if (eregi('Mac', $agent) && eregi('PC', $agent)){
  137.                 $os = 'Macintosh';
  138.         }
  139.         else if (eregi('PowerPC', $agent)){
  140.                 $os = 'PowerPC';
  141.         }
  142.         else if (eregi('AIX', $agent)){
  143.                 $os = 'AIX';
  144.         }
  145.         else if (eregi('HPUX', $agent)){
  146.                 $os = 'HPUX';
  147.         }
  148.         else if (eregi('NetBSD', $agent)){
  149.                 $os = 'NetBSD';
  150.         }
  151.         else if (eregi('BSD', $agent)){
  152.                 $os = 'BSD';
  153.         }
  154.         else if (ereg('OSF1', $agent)){
  155.                 $os = 'OSF1';
  156.         }
  157.         else if (ereg('IRIX', $agent)){
  158.                 $os = 'IRIX';
  159.         }
  160.         else if (eregi('FreeBSD', $agent)){
  161.                 $os = 'FreeBSD';
  162.         }
  163.         else if (eregi('teleport', $agent)){
  164.                 $os = 'teleport';
  165.         }
  166.         else if (eregi('flashget', $agent)){
  167.                 $os = 'flashget';
  168.         }
  169.         else if (eregi('webzip', $agent)){
  170.                 $os = 'webzip';
  171.         }
  172.         else if (eregi('offline', $agent)){
  173.                 $os = 'offline';
  174.         }
  175.         else {
  176.                 $os = 'Unknown';
  177.         }
  178.         return $os;
  179. }
  180. function getTitle(){
  181.         global $_SERVER;
  182.         $filename = $_SERVER['HTTP_REFERER'];
  183.         $content = file_get_contents($filename);
  184.         preg_match('/<title>.*-(.*)-.*<\/title>/iU',$content,$title);
  185.         preg_match('/<title>(.*)-.*<\/title>/iU',$content,$subject);
  186.         $title = str_replace('"','"',$title[1]);
  187.         $subject = str_replace('"','"',$subject[1]);
  188.         $temp[]=$title;
  189.         $temp[]=$subject;
  190.         return $temp;

  191. }
  192. ?>
复制代码
2#
发表于 2010-8-18 22:12:52 | 只看该作者
你放个签名出来测试一下啊。
3#
发表于 2010-8-18 22:20:30 | 只看该作者
就是你自己试试
4#
发表于 2010-8-18 22:20:55 | 只看该作者
  这已经不能用[img]了
5#
 楼主| 发表于 2010-8-18 23:27:45 | 只看该作者
回#2#3,我签名不能用img。。
6#
发表于 2010-8-18 23:36:32 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-10-23 01:32 , Processed in 0.059288 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表