Posts Tagged ‘PHP’

博客新增评论验证码插件

Posted in 生活琐碎 on 4月 13th, 2010 by 飘(piao2010) – 8 Comments

最近发现博客的垃圾评论越来越多,无奈只能增加一个验证码插件,希望各位朋友见谅。

插件名称:wp-imgcode

安装完成启用插件后发现不能显示验证码图片,分析了一下HTML发现是图片的地址错了,于是把定义插件路径的代码修改一下,

//var $plugin_dir = 'wp-content/plugins/wp-imgcode';
var $plugin_dir = '/wp-content/plugins/wp-imgcode';

一切正常了。

手机短信天气预报自动发送程序

Posted in Linux, code on 2月 28th, 2010 by 飘(piao2010) – 23 Comments

今天闲来无聊想起网上流传已久的飞信API接口,加上MM说想要手机天气预报,平时又没空拿她手机安装软件,所以就有了写个手机短信天气预报程序的想法。

程序大致分成两个模块,(一)PHP程序采集中国气象网站的数据用正则表达式进行提取关键信息,这个以前的文章已经写过不再重复叙述。然后利用飞信的API接口向MM的手机发送天气预报数据。

(二)写一个shell脚本,实现访问PHP程序。考虑到网络偶尔出现故障,加入了sleep和while循环。
最后在crontab里面添加每天定时执行shell脚本即可。

部分关键代码如下: read more »

什么是运维工程师?

Posted in 生活琐碎 on 1月 27th, 2010 by 飘(piao2010) – 3 Comments

3月中旬就要去实习了,虽然签约的是运维工程师,不过到底什么是运维工程师呢?网上搜索出来的资料也没有明确的定义。不过发现一篇文章写的是对运维工程师的理解,觉得挺好的,转载过来。//2012年更新:工作两年以后再回过头来看这文章确实就是大公司运维工程师的现状:)

对于网站运维,感觉大家还是比较迷惘与不解,确实,这是一个新兴岗位;今天闲来无事,在此结合自已以往的一些经历,与大家先共同探讨一下“什么是门户网站运维”?以下是自已的一些经验和感受请大家斧正,希望和大家一起探讨,共同进步

一、什么是门户网站运维?

首先明确一下,全文所讲的”运维“是指:门户网站运维,与其它运维的区别还是蛮大的;然后我们再对大型网站与小型网站进行范围定义,此定义主要从运维复杂性角度考虑,如网站规范、知名度、服务器量级、pv量等考虑,其它因素不是重点;因此,我们先定义服务器规模大于1000台,pv每天至少上千万(至少国内排名前20),如sina、alibaba、sohu、baidu、网易等 read more »

php配置session相关知识

Posted in 安全相关 on 9月 21st, 2009 by 飘(piao2010) – 2 Comments

php session有一个GC功能,就是Garbage Collector。这个GC启动的时候,会清除那些已经“超时”的session。它的工作原理:

1.用户访问并登陆网站,这时候后台会调用session_start来尝试生成一个会话(如果已经有会话,则相当于一次有效会话请求)
2.对于这样的每一次有效会话请求(Request),apache的php模块会根据session相关的全局变量gc_probability/gc_divisor =>计算出启动GC的概率,并由此概率来决定在这次请求中是否应该启动GC。举例来说, read more »

PHP实现获取客户端IP地址以及IP地址的伪造

Posted in code, 安全相关 on 8月 17th, 2009 by 飘(piao2010) – 2 Comments

以下是目前网上比较常用的获取客户端IP地址的方法

<?php 
function get_ip_address() { 
    if (isset($_SERVER)) { 
      if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; 
      } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) { 
        $ip = $_SERVER['HTTP_CLIENT_IP']; 
      } else { 
        $ip = $_SERVER['REMOTE_ADDR']; 
      } 
    } else { //iis不支持getenv
      if (getenv('HTTP_X_FORWARDED_FOR')) { 
        $ip = getenv('HTTP_X_FORWARDED_FOR'); 
      } elseif (getenv('HTTP_CLIENT_IP')) { 
        $ip = getenv('HTTP_CLIENT_IP'); 
      } else { 
        $ip = getenv('REMOTE_ADDR'); 
      } 
    } 
    return $ip; 
} 
echo get_ip_address(); 
?>

read more »

关于file_get_contents函数超时的解决方法

Posted in code on 8月 11th, 2009 by 飘(piao2010) – Be the first to comment

今天在测试天气预报系统的时候发现一个问题,就是在网络状况比较差的情况下file_get_contents函数经常读取远程数据失败。经过Google和自己的一番测试,解决方案如下:

<?php
//飘零的代码 http://piao2010.com
 
/*设置超时配合失败之后尝试多次读取,效果比原先好很多*/
          $opts = array( 
           'http'=>array( 
	         'method'=>"GET", 
	         'timeout'=>1 //设置超时1s
		) 
	); 
	$context = stream_context_create($opts); 
	$cnt=1; //最多尝试10次读取
          while(($contents = @file_get_contents("$url",false,$context)) === false && $cnt <= 10  )
		$cnt++;
?>

无觅相关文章插件,快速提升流量