设为首页收藏本站关注微信<<< 抵制 IE6 人人有责 >>>
搜索
热搜: 活动 交友 discuz
查看: 1646|回复: 0
打印 上一主题 下一主题

[其他(待整理)] php限制在限定时间内只能访问一次页面

[复制链接]
跳转到指定楼层
楼主
发表于 2016-7-30 20:00:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[PHP] 纯文本查看 复制代码
<?php
//功能代码
define('TIME_OUT', 120); //这里设置时间,单位为秒
@session_start();
$time = time();

if( isset($_SESSION['time']) )
{
 if( $time - $_SESSION['time'] <= TIME_OUT ) //超时判断
 {
  echo '<script type=text/javascript>alert("超过限制时的提示文字!");</script>';
  exit();
 }
}
$_SESSION['time'] = $time;

echo "正常情况的显示";
//获取IP的PHP函数
function ClientIP()
 {
  $realip = "";
  if (isset($_SERVER))
  {
   // 如果$_SERVER['HTTP_X_FORWARDED_FOR']有值表明客户端通过代理上网
   if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
   {
    $ip_arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
    /* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */
    foreach ($ip_arr as $ip)
    {
     $ip = trim($ip);
     if ($ip != 'unknown')
     {
      $realip = $ip;
      break;
     }
    }
   } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
    $realip = $_SERVER['HTTP_CLIENT_IP'];
   } else {
    if (isset($_SERVER['REMOTE_ADDR']))
     $realip = $_SERVER['REMOTE_ADDR'];
    else
     $realip = '0.0.0.0';
   }
  } else {
   if (getenv('HTTP_X_FORWARDED_FOR'))                    // 如果getenv('HTTP_X_FORWARDED_FOR')非空取其值作为真实IP
    $realip = getenv('HTTP_X_FORWARDED_FOR');
   elseif (getenv('HTTP_CLIENT_IP'))        // 如果getenv('HTTP_CLIENT_IP')非空取其值作为真实IP
    $realip = getenv('HTTP_CLIENT_IP');
   else
    $realip = getenv('REMOTE_ADDR');
  }

  preg_match("/[\d\.]{7,15}/", $realip, $onlineip);
  $realip = !empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';
  return $realip;
 }
?>

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享淘帖
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|手机版|Archiver|源于生活(个人生活娱乐工作的笔记)css3,html5,学习笔记    

GMT+8, 2024-5-3 03:21 , Processed in 0.093600 second(s), 25 queries .

Powered by Mr.Kevin-ying

© 2004-2015

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