ip签名探针


Posted in PHP onOctober 09, 2006

可以用做签名,论坛头像

PHP代码:--------------------------------------------------------------------------------
<?php
/****************************************************
残风制作ip签名探针---stormor@163.com
如果有显示不正确的地方请发E-mail给我,以便修改!
*****************************************************/
Header("Content-type: image/png");

if(getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
$ip_agent = getenv("REMOTE_ADDR");
} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
$ip_real = getenv("HTTP_X_FORWARDED_FOR");
$ip_agent = getenv("REMOTE_ADDR");
} else {
$ip_real = getenv("REMOTE_ADDR");
$ip_agent = "";
}

if(!$ip_agent){
$wenzi="IP:";
$ip_count=strlen($ip_real);
$left=22;
$width=$ip_count*6+$left+5;
$height=14;
$picture=Imagecreate($width,$height);
$bgcolor=ImageColorAllocate($picture,225,250,225);
$bordercolor=ImageColorAllocate($picture,0,0,0);
$fontcolor=ImageColorAllocate($picture,0,0,0);
Imageline($picture,0,0,$width-1,0,$bordercolor);
Imageline($picture,0,0,0,$height-1,$bordercolor);
Imageline($picture,$width-1,$height-1,$width-1,0,$bordercolor);
Imageline($picture,$width-1,$height-1,0,$height-1,$bordercolor);
Imagestring($picture,2,2,0,$wenzi,$fontcolor);
Imagestring($picture,2,$left+2,0,$ip_real,$fontcolor);
Imagepng($picture);
ImageDestroy($picture);
}else{
$wenzi1="IP1:";
$wenzi2="IP2:";
$ip_count1=strlen($ip_real);
$ip_count2=strlen($ip_agent);
$left=26;
if($ip_count1>=$ip_count2){$width=$ip_count1*6+$left+5;}else{$width=$ip_count2*6+$left+5;}
$height=29;
$middle=$height/2+1;
$picture=Imagecreate($width,$height);
$bgcolor=ImageColorAllocate($picture,225,250,225);
$bordercolor=ImageColorAllocate($picture,0,0,0);
$fontcolor=ImageColorAllocate($picture,0,0,0);
Imageline($picture,0,0,$width-1,0,$bordercolor);
Imageline($picture,0,0,0,$height-1,$bordercolor);
Imageline($picture,$width-1,$height-1,$width-1,0,$bordercolor);
Imageline($picture,$width-1,$height-1,0,$height-1,$bordercolor);
Imageline($picture,$width-1,$middle-1,0,$middle-1,$bordercolor);
Imagestring($picture,2,2,0,$wenzi1,$fontcolor);
Imagestring($picture,2,$left+2,0,$ip_real,$fontcolor);
Imagestring($picture,2,2,$middle,$wenzi2,$fontcolor);
Imagestring($picture,2,$left+2,$middle,$ip_agent,$fontcolor);
Imagepng($picture);
ImageDestroy($picture);
}

?>

--------------------------------------------------------------------------------

PHP 相关文章推荐
PHP+ACCESS 文章管理程序代码
Jun 21 PHP
php操作JSON格式数据的实现代码
Dec 24 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
Oct 06 PHP
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
May 10 PHP
19个超实用的PHP代码片段
Mar 14 PHP
你可能不知道PHP get_meta_tags()函数
May 12 PHP
MyEclipse常用配置图文教程
Sep 11 PHP
PHP获取当前相对于域名目录的方法
Jun 26 PHP
Laravel路由设定和子路由设定实例分析
Mar 30 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
Jun 12 PHP
PHP互换两个变量值的方法(不用第三变量)
Nov 14 PHP
解决laravel session失效的问题
Oct 14 PHP
PHP默认安装产生系统漏洞
Oct 09 #PHP
把PHP安装为Apache DSO
Oct 09 #PHP
PHP4中实现动态代理
Oct 09 #PHP
phpmyadmin操作流程
Oct 09 #PHP
一个用于MySQL的PHP XML类
Oct 09 #PHP
ASP知识讲座四
Oct 09 #PHP
php.ini中文版
Oct 09 #PHP
You might like
关于Iframe如何跨域访问Cookie和Session的解决方法
2013/04/15 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
PHP采集类Snoopy抓取图片实例
2014/06/19 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
php导出生成word的方法
2015/12/25 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
设定php简写功能的方法
2019/11/28 PHP
jQuery Ajax 实例全解析
2011/04/20 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
js通过classname来获取元素的方法
2016/11/24 Javascript
JS传参及动态修改页面布局
2017/04/13 Javascript
vue响应式系统之observe、watcher、dep的源码解析
2019/04/09 Javascript
jquery中为什么能用$操作
2019/06/18 jQuery
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
基于javascript实现日历功能原理及代码实例
2020/05/07 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
深入理解Python中的元类(metaclass)
2015/02/14 Python
python抽象基类用法实例分析
2015/06/04 Python
目前最全的python的就业方向
2018/06/05 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
Python Cookie 读取和保存方法
2018/12/28 Python
python制作mysql数据迁移脚本
2019/01/01 Python
Python定义一个Actor任务
2020/07/29 Python
如何现实servlet的单线程模式
2014/08/05 面试题
爸爸的花儿落了教学反思
2014/02/20 职场文书
企业授权委托书范本
2014/04/02 职场文书
实习协议书范本
2014/09/25 职场文书
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android