1. 獲取ip地址
2. 與允許的ip范圍 進行比較?
代碼如下:
$ip = getIP();
function getIP()
{
? ?$onlineip = '';
? ?if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown'))
? ?{
? ? ? ?$onlineip = getenv('HTTP_CLIENT_IP');
? ?} else if (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) ? ?{
? ? ? ?$onlineip = getenv('HTTP_X_FORWARDED_FOR');
? ?} else if (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
? ? ? $onlineip = getenv('REMOTE_ADDR');
? ?} else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
? ? ? $onlineip = $_SERVER['REMOTE_ADDR'];
? ?}
? ?preg_match("/[\d\.]{7,15}/", $onlineip, $onlineipmatches);
? ?$onlineip = empty($onlineipmatches[0]) ? 'unknown' : $onlineipmatches[0];
? ?return $onlineip;
}