网站限制指定地区、来路、时段访问打赏

做网站时,出于某种需要,我们可能需要限制某些地区或者某个时段对网站的访问,下面是一段简单的php脚本,记录、分享下。

/**
 * Created by PhpStorm.
 * User: William.Wei
 * Email: weizhansheng@outlook.com
 * Date: 2016/3/2
 * Time: 21:54
 */
header("Content-type: text/html; charset=utf-8");
date_default_timezone_set('PRC');
$hour = date('H');
if ($hour > 6 && $hour < 20) {
    function referrer_contains($antecedents, $referrer_keys)
    {
        if (!$antecedents) {
            return false;
        }
        foreach ($referrer_keys as $referrer_key) {
            if (strpos($antecedents, $referrer_key) !== false) {
                return true;
            }
        }
        return false;
    }

    if (!referrer_contains($_SERVER['HTTP_REFERER'], ['baidu', 'google', 'sm.cn', 'so.com', 'sogou', 'poorren.com']) && strpos($_SERVER['HTTP_USER_AGENT'], 'spider') === false) {
        $verification = ['广东省', '浙江省', '北京市'];
        $address = json_decode(file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=" . $_SERVER['REMOTE_ADDR']), true);
        if (!$address || in_array($address['data'] ? $address['data']['region'] : '', $verification)) {
            exit;
        }
    }
}

具体用途,大可发挥想象。

网站限制指定地区、来路、时段访问
文章《网站限制指定地区、来路、时段访问》二维码
  • 微信打赏
  • 支付宝打赏

已有10条评论

  1. 佛山影视

    走一走,看一看,说不定就学到了想要的知识呢

    2016-09-08 16:41 回复
  2. 飞利浦呼吸机

    收藏!

    2016-08-17 11:11 回复
  3. 上海项目管理软件

    一般什么情况下限制呢? 上海项目管理软件 http://www.qcq3.com

    2016-06-14 16:27 回复
  4. 电商培训

    [给力]

    2016-03-24 22:39 回复
  5. vultr

    备案域名的时候可以用到。

    2016-03-18 20:46 回复
  6. 米粒博客

    一般的IP都是动态的 有时候屏蔽IP也没啥用 而且 有VPN 有时觉得自己都是在做无用功 很无语的

    2016-03-18 09:21 回复

(必填)

(必填)

(可选)