$_SERVER

客户端浏览器是否支持GZIP压缩

preg_match('/gzip/', $_SERVER['HTTP_ACCEPT_ENCODING'])

 

进行客户端ETAG设定

header("Cache-Control: public");
$etag = "f_".$forum_id;  //标记字符串,可以任意修改
if (!empty($_SERVER['HTTP_IF_NONE_MATCH']))
{
    $tmp = explode("@", $_SERVER['HTTP_IF_NONE_MATCH']);
    if ($tmp[0] == $etag && time()-$tmp[1]<=15) {
        header('Etag:'.$_SERVER['HTTP_IF_NONE_MATCH'], true, 304);
        exit;
    }
}
header('Etag:'.$etag."@".time());

 

限制代理访问

if(($attackevasive & 2) && ($_SERVER['HTTP_X_FORWARDED_FOR'] ||
    $_SERVER['HTTP_VIA'] || $_SERVER['HTTP_PROXY_CONNECTION'] ||
    $_SERVER['HTTP_USER_AGENT_VIA'] || $_SERVER['HTTP_CACHE_INFO'] ||
    $_SERVER['HTTP_PROXY_CONNECTION'])) {
       
}

 

当前脚本

$PHP_SELF = dhtmlspecialchars($_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']);

 

判断linux服务器的负载

if(!empty($loadctrl) && substr(PHP_OS, 0, 3) != 'WIN') {
    if($fp = @fopen('/proc/loadavg', 'r')) {
        list($loadaverage) = explode(' ', fread($fp, 6));
        fclose($fp);
        if($loadaverage > $loadctrl) {
            header("HTTP/1.0 503 Service Unavailable");
            include DISCUZ_ROOT.'./include/serverbusy.htm';
            exit();
        }
    }
}

 

是否机器人

    if(!defined('IS_ROBOT')) {
        $kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';
        $kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';
        if(!strexists($_SERVER['HTTP_USER_AGENT'], 'http://') && preg_match("/($kw_browsers)/i", $_SERVER['HTTP_USER_AGENT'])) {
            define('IS_ROBOT', FALSE);
        } elseif(preg_match("/($kw_spiders)/i", $_SERVER['HTTP_USER_AGENT'])) {
            define('IS_ROBOT', TRUE);
        } else {
            define('IS_ROBOT', FALSE);
        }
    }
    return IS_ROBOT;

 

获取客户端IP

if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
    $onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
    $onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
    $onlineip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
    $onlineip = $_SERVER['REMOTE_ADDR'];
}

 

获取请求字符串的方法,rewrite后还可以

        $requestUri = isset($_SERVER['HTTP_X_REWRITE_URL'])?
                          $_SERVER['HTTP_X_REWRITE_URL']:
                          isset($_SERVER['REQUEST_URI'])?
                              $_SERVER['REQUEST_URI']:
                              $_SERVER['ORIG_PATH_INFO'].'?'.$_SERVER['QUERY_STRING'];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值