ユーザーの実IPを取得するCDN関数コードを作成しました(PHPとAspの設定方法)_PHPチュートリアル

WBOY
リリース: 2016-07-21 15:12:37
オリジナル
841 人が閲覧しました

asp 関数コード:

コードをコピー コードは次のとおりです:

function checkip(checkstring)'通常のルールを使用して IP が正当かどうかを判断します
dim re1
set re1=new RegExp
re1。パターン=”^[0- 9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$”
re1.global=false
re1 .Ignorecase=false
checkip=re1.test(checkstring)
set re1=nothing
関数終了

function get_cli_ip()'実際の IP 関数を取得します。最初に HTTP_CLIENT_IP、次に HTTP_X_FORWARDED_FOR、次に REMOTE_ADDR
dim client_ip
if checkip(Request.ServerVariables("HTTP_CLIENT_IP"))=true then
get_cli_ip = checkip(Request.ServerVariables("HTTP_CL IENT_IP") ))
else
MyArray = split(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),",")
if ubound(MyArray)>=0 then
client_ip = trim(MyArray(0))
if checkip(client_ip)= true then
get_cli_ip = client_ip
関数終了
if
end if
get_cli_ip = Request.ServerVariables("REMOTE_ADDR")
if
関数終了

discuz フォーラムは実際の IP の php コードを取得します。他のものも同様です。わずかな変更を参照してください。

(discuz edit include/common.inc.php)

次のコードを使用します:

コードをコピーします コードは次のとおりです:
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'),
「不明」)) {

$testip =explode('.', getenv('HTTP_X_FORWARDED_FOR'));

if ($testip[0]=='192' && $testip[1]=='168') {

$onlineip = getenv('REMOTE_ADDR');
}
elseif($testip[0]==' 10') {
$onlineip = getenv('REMOTE_ADDR');
}
else {
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
}

//gamesir ハックエンド} 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')) {

//by Johnny
$tmp_ip =explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$tmp_ip1 =explode(',',$tmp_ip[ 0]);
if ($tmp_ip1[0] =='192′ && $tmp_ip1[1] =='168′) {
$onlineip = getenv('REMOTE_ADDR');
}else if($tmp_ip1[0 ]=='10') {
$onlineip = getenv('REMOTE_ADDR');
}
else{
$onlineip = $tmp_ip[0];
}
unset($tmp_ip);unset($tmp_ip1);

}


このコードを置き換えます:

コードをコピーします コードは次のとおりです:
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'];
}

http://www.bkjia.com/PHPjc/326649.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/326649.html技術記事 asp 関数コード: 次のようにコードをコピーします: function checkip(checkstring)'通常のルールを使用して、IP が正当であるかどうかを判断します dim re1 set re1=new RegExp re1.pattern=”^[0-9]{1,3}。 [0-9] {1,3}.[0-9]{1,3...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!