PHP客户端在某一时间断的唯一guid
Posted in 后端技术 on 十月 15th, 2010 by admin – Be the first to comment我们在投票,取领之类的用户行为时有时需要在xx时间断内只让他做一次动作,以前都是用IP来判断的, 有时有些用户的IP很多是共用的导致不准确,.
可以通过下面这个函数来获得更准确一点的信息, 还可以加入其他信息来进一步完整.
/**
* 返回客户端唯一的guid;
* 主要用于做判断是否提交,是否投票
* @author Mark.chen maxtank@gmail.com
* @param y=1年, m=1月, d=1天, h=1小时, i=1分钟, s= 1秒
* @return 32位的字符串
**/
function guid($out = 'ymd'){
$ip1 = $_SERVER['REMOTE_ADDR']; //求ip
$ip2 = $_SERVER['HTTP_X_FORWARDED_FOR']; //求代理等其他情况下ip
$info= $_SERVER['HTTP_USER_AGENT']; //求浏览器信息
return sha1($ip1.$info.$ip2.date($out));
}