成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > php獲取用戶真實(shí)IP和防刷機(jī)制的實(shí)例代碼

php獲取用戶真實(shí)IP和防刷機(jī)制的實(shí)例代碼

熱門標(biāo)簽:蘇州外呼系統(tǒng)有效果嗎 兼職做地圖標(biāo)注好賺錢嗎 海南外呼系統(tǒng)方案 打開百度地圖標(biāo)注 地圖標(biāo)注怎么做商戶驗(yàn)證 亳州企業(yè)外呼系統(tǒng) 智能電銷語音機(jī)器人資訊 山東電銷卡外呼系統(tǒng)原理是什么 400 電話 辦理

一. 如何獲取用戶IP地址

 public static function getClientIp()
 {
 if (getenv('HTTP_CLIENT_IP')) {
  $ip = getenv('HTTP_CLIENT_IP');
 }
 if (getenv('HTTP_X_REAL_IP')) {
  $ip = getenv('HTTP_X_REAL_IP');
 } elseif (getenv('HTTP_X_FORWARDED_FOR')) {
  $ip = getenv('HTTP_X_FORWARDED_FOR');
  $ips = explode(',', $ip);
  $ip = $ips[0];
 } elseif (getenv('REMOTE_ADDR')) {
  $ip = getenv('REMOTE_ADDR');
 } else {
  $ip = '0.0.0.0';
 }

 return $ip;
 }

 注意:

$_SERVER和getenv的區(qū)別,getenv不支持IIS的isapi方式運(yùn)行的php
getenv(“REMOTE_ADDR”)函數(shù)在 apache下能正常獲取ip地址,而在iis中沒有作用,而$_SERVER['REMOTE_ADDR']函數(shù),既可在apache中成功獲取訪客的ip地址,在iis下也同樣有效

一、關(guān)于 REMOTE_ADDR

這個(gè)變量獲取到的是《直接來源》的 IP 地址,所謂《直接來源》指的是直接請求該地址的客戶端 IP 。這個(gè) IP 在單服務(wù)器的情況下,很準(zhǔn)確的是客戶端 IP ,無法偽造。當(dāng)然并不是所有的程序都一定是單服務(wù)器,比如在采用負(fù)載均衡的情況(比如采用 haproxy 或者 nginx 進(jìn)行負(fù)載均衡),這個(gè) IP 就是轉(zhuǎn)發(fā)機(jī)器的 IP ,因?yàn)檫^程是客戶端->負(fù)載均衡->服務(wù)端。是由負(fù)載均衡直接訪問的服務(wù)端而不是客戶端。

二、關(guān)于 HTTP_X_FORWARDED_FOR 和 HTTP_CLIENT_IP
基于《一》,在負(fù)載均衡的情況下直接使用 REMOTE_ADDR 是無法獲取客戶端 IP 的,這就是一個(gè)問題,必須解決。于是就衍生出了負(fù)載均衡端將客戶端 IP 加入到 HEAD 中發(fā)送給服務(wù)端,讓服務(wù)端可以獲取到客戶端的真實(shí) IP 。當(dāng)然也就產(chǎn)生了各位所說的偽造,畢竟 HEAD 除了協(xié)議里固定的那幾個(gè)數(shù)據(jù),其他數(shù)據(jù)都是可自定義的。

三、為何網(wǎng)上找到獲取客戶端 IP 的代碼都要依次獲取 HTTP_CLIENT_IP 、 HTTP_X_FORWARDED_FOR 和 REMOTE_ADDR
基于《一》和《二》以及對程序通用性的考慮,所以才這樣做。 假設(shè)你在程序里直接寫死了 REMOTE_ADDR ,有一天你們的程序需要做負(fù)載均衡了,那么你有得改了。當(dāng)然如果你想這么做也行,看個(gè)人愛好和應(yīng)用場景。也可以封裝一個(gè)只有 REMOTE_ADDR 的方法,等到需要的時(shí)候改這一個(gè)方法就行了。

總結(jié):

HTTP_CLIENT_IP: 頭是有的,只是未成標(biāo)準(zhǔn),不一定服務(wù)器都實(shí)現(xiàn)了。

X-Forwarded-For(XFF):  是用來識別通過HTTP代理或負(fù)載均衡方式連接到Web服務(wù)器的客戶端最原始的IP地址的HTTP請求頭字段, 格式:clientip,proxy1,proxy2

REMOTE_ADDR: 是可靠的, 它是最后一個(gè)跟你的服務(wù)器握手的IP,可能是用戶的代理服務(wù)器,也可能是自己的反向代理。

X-Forwarded-For 和 X-Real-IP區(qū)別:

X-Forwarded-For是用于記錄代理信息的,每經(jīng)過一級代理(匿名代理除外),代理服務(wù)器都會(huì)把這次請求的來源IP追加在X-Forwarded-For中, 而X-Real-IP,沒有相關(guān)標(biāo)準(zhǔn), 其值在不同的代理環(huán)境不固定

關(guān)于此的更多討論可以參考:https://www.douban.com/group/topic/27482290/

1. 負(fù)載均衡情況:

生產(chǎn)環(huán)境中很多服務(wù)器隱藏在負(fù)載均衡節(jié)點(diǎn)后面,你通過REMOTE_ADDR只能獲取到負(fù)載均衡節(jié)點(diǎn)的ip地址,一般的負(fù)載均衡節(jié)點(diǎn)會(huì)把前端實(shí)際的ip地址通過HTTP_CLIENT_IP或者HTTP_X_FORWARDED_FOR這兩種http頭傳遞過來。

后端再去讀取這個(gè)值就是真實(shí)可信的,因?yàn)樗秦?fù)載均衡節(jié)點(diǎn)告訴你的而不是客戶端。但當(dāng)你的服務(wù)器直接暴露在客戶端前面的時(shí)候,請不要信任這兩種讀取方法,只需要讀取REMOTE_ADDR就行了

2. CDN的情況:

所以對于我們獲取用戶的IP,應(yīng)該截取http_x_forwarded_for的第一個(gè)有效IP(非unknown)。

多層代理時(shí),和cdn方式類似。

注意:

無論是REMOTE_ADDR還是HTTP_FORWARDED_FOR,這些頭消息未必能夠取得到,因?yàn)椴煌臑g覽器不同的網(wǎng)絡(luò)設(shè)備可能發(fā)送不同的IP頭消息

 二. 防止IP注入攻擊

加入以下代碼防止IP注入攻擊:

// IP地址合法驗(yàn)證, 防止通過IP注入攻擊
$long = sprintf("%u", ip2long($ip));
$ip = $long ? array($ip, $long) : array('0.0.0.0', 0);

一般獲取IP后更新到數(shù)據(jù)庫代碼如: $sql="update t_users set login_ip='".get_client_ip()."' where ..." ,而如果接收到的ip地址是: xxx.xxx.xxx.xxx';delete from t_users;--  ,代入?yún)?shù)SQL語句就變成了: "update t_users set login_ip='xxx.xxx.xxx.xxx';delete from t_users;-- where ...

所以獲取IP地址后,務(wù)必使用正則等對IP地址的有效性進(jìn)行驗(yàn)證,另外一定要使用參數(shù)化SQL命令

 解析:

sprintf() 函數(shù)把格式化的字符串寫入變量中。
•%u - 不包含正負(fù)號的十進(jìn)制數(shù)(大于等于 0)

int ip2long ( string $ip_address ) :

返回IP地址轉(zhuǎn)換后的數(shù)字 或 FALSE 如果 ip_address 是無效的。

注意 :

例子說明打印一個(gè)轉(zhuǎn)換后的地址使用 printf() 在PHP4和PHP5的功能:

?php
$ip = gethostbyname('www.example.com');
$long = ip2long($ip);
if ($long == -1 || $long === FALSE) {
 echo 'Invalid IP, please try again';
} else {
 echo $ip . "\n";  // 192.0.34.166
 echo $long . "\n";  // -1073732954
 printf("%u\n", ip2long($ip)); // 3221234342
}
?>

1. 因?yàn)镻HP的 integer 類型是有符號,并且有許多的IP地址講導(dǎo)致在32位系統(tǒng)的情況下為負(fù)數(shù), 你需要使用 "%u" 進(jìn)行轉(zhuǎn)換通過 sprintf() 或printf() 得到的字符串來表示無符號的IP地址。

2. ip2long() 將返回 FALSE 在IP是 255.255.255.255 的情況,版本為 PHP 5 = 5.0.2. 在修復(fù)后 PHP 5.0.3 會(huì)返回 -1 (與PHP4相同)

三. 防刷機(jī)制

對于獲取到IP后我們可以做一些防刷操作:

//ip限額
$ip = getClientIp();
$ipKey = "activity_key_{$ip}";
if (!frequencyCheckWithTimesInCache($ipKey, $duration, $limitTimes)) {
 return false;
}
return true;
// 限制id,在$second時(shí)間內(nèi),最多請求$times次 

public static function frequencyCheckWithTimesInCache($id, $second, $times)
 {
 $value = Yii::app()->cache->get($id);
 if (!$value) {
  $data[] = time();
  Yii::app()->cache->set($id, json_encode($data), $second);

  return true;
 }
 $data = json_decode($value, true);
 if (count($data) + 1 = $times) {
  $data[] = time();
  Yii::app()->cache->set($id, json_encode($data), $second);

  return true;
 }

 if (time() - $data[0] > $second) {
  array_shift($data);
  $data[] = time();
  Yii::app()->cache->set($id, json_encode($data), $second);

  return true;
 }

 return false;
 }

舉例:

限制每小時(shí)請求不超過50次

if (!frequencyCheckWithTimesInCache('times_uid_' . $uid, 3600, 50)) {
  return '請求過于頻繁';
 }

防刷升級限制設(shè)備號:

//設(shè)備號 一個(gè)設(shè)備號最多只能抽獎(jiǎng)3次
 if(! empty($deviceId)){
  $deviceUseChance = Yii::app()->db->createCommand()
   ->select('count(id)')->from('activity00167_log')
   ->where('device_id=:deviceId',['deviceId'=>$deviceId])
   ->queryScalar();
  $deviceChance = 3 - $deviceUseChance;
 }

對于獲取IP地址還可以在大數(shù)據(jù)分析用戶的地理位置,比如做一些精準(zhǔn)投放等工作。

總結(jié)

以上所述是小編給大家介紹的php獲取用戶真實(shí)IP和防刷機(jī)制的實(shí)例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • PHP 獲取客戶端 IP 地址的方法實(shí)例代碼
  • 利用PHP獲取訪客IP、地區(qū)位置、瀏覽器及來源頁面等信息
  • PHP獲取用戶客戶端真實(shí)IP的解決方案
  • PHP安裝GeoIP擴(kuò)展根據(jù)IP獲取地理位置及計(jì)算距離的方法
  • PHP獲取用戶訪問IP地址的5種方法
  • 通過PHP實(shí)現(xiàn)獲取訪問用戶IP

標(biāo)簽:溫州 綏化 呼倫貝爾 清遠(yuǎn) 安康 金華 紹興 萊蕪

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php獲取用戶真實(shí)IP和防刷機(jī)制的實(shí)例代碼》,本文關(guān)鍵詞  php,獲取,用戶,真實(shí),和,防刷,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php獲取用戶真實(shí)IP和防刷機(jī)制的實(shí)例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于php獲取用戶真實(shí)IP和防刷機(jī)制的實(shí)例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    中文字幕一二三| 最近最新中文字幕在线| 香蕉久久一区| 中文字幕在线观看一区| 中文字幕av一区二区三区谷原希美| 欧美中文字幕在线| 同产精品九九九| 国产裸体永久免费无遮挡| 国产日韩一区二区在线| 色88久久久久高潮综合影院| 中文字幕亚洲乱码熟女1区2区| 毛片激情在线观看| 亚洲国产精品精华液ab| 欧美激情第六页| 成人午夜私人影院| 国产真实乱子伦精品视频| 婷婷成人综合| 希岛爱理av免费一区二区| 日韩福利一区二区三区| 亚洲成人免费观看| 国产亚洲色婷婷久久99精品| 欧美丰满老妇熟乱xxxxyyy| 一区二区三区精密机械公司| 欧美va亚洲va日韩∨a综合色| 国产精品麻豆va在线播放| 日韩免费观看视频| 在线中文字日产幕| 中文字幕亚洲一区二区av在线| 国产精品视频一区视频二区| 国产视频一区二区三区四区五区| 久久久久亚洲av无码专区喷水| 国产成人鲁鲁免费视频a| 日韩电影网1区2区| 久久亚洲综合国产精品99麻豆精品福利| 日本亚洲欧美美色| 91九色鹿精品国产综合久久香蕉| 国产免费福利视频| 欧美卡1卡2卡| 精品久久久久久久一区二区蜜臀| 久久se精品一区二区| 欧美精品一区二区三区在线播放| 国产普通话bbwbbwbbw| 国产欧美一区二区三区不卡高清| 在线观看欧美日本| 欧美在线播放一区| 九一国产在线观看| 四虎www成人影院观看| 日韩一区免费观看| 亚洲人和日本人hd| 成年人免费在线视频网站| 亚洲欧美日韩高清在线| 翔田千里88av中文字幕| 每日更新av在线播放| 日韩中文av在线| 免费观看成人av| 九九热在线精品视频| 亚洲天堂网站在线| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲av电影一区| 国产精品传媒精东影业在线| 国产毛片久久| 欧美黄色性生活| 538任你躁在线精品免费| 婷婷五月在线视频| 在线免费观看日韩视频| 免费在线视频一级不卡| 欧美xxxx三人交性视频| 中文字幕在线观看一区| 久久久久久久久久久久久9999| 欧美一区二区三区精品电影| 岛国精品一区二区三区| 久久精品国产亚洲| 欧美午夜a级限制福利片| 日韩中字在线| 久久久亚洲欧洲日产国码aⅴ| 欧美日韩二区三区| 97国产精品久久| 91久久精品国产91性色69| 韩国一区二区三区视频| 国产精品美女高潮无套| 北条麻妃一区二区三区| 91精品在线视频观看| 国产一二三区精品视频| 久久夜精品香蕉| 亚洲免费观看高清完整版在线观看| 国产网站免费看| 欧美深夜视频| 欧美性色视频在线| 久久久久久久九九九九| 国产高清av| 欧美成人免费视频a| 日韩免费视频播放| a视频v在线| 黄色激情网址| 久久综合色播五月| 黄色网址免费看| 日本精品在线| 五月天婷婷社区| 91香蕉国产在线观看| 成人在线直播| 51视频国产精品一区二区| 国产成人久久精品麻豆二区| 国产成人手机高清在线观看网站| 中文字字幕在线中文乱码电影| 欧洲亚洲成人| 国语精品中文字幕| 日韩成人在线视频| 在线观看午夜av| 在线观看国产麻豆| 99久免费精品视频在线观78| 欧美又粗又长又爽做受| 国产精品我不卡| 91caoporn在线| 米奇777在线影院线| 国产日韩精品一区| 在线xxxxx| 成人黄色在线| 黄色a级在线观看| 欧美最猛黑人xxxx黑人猛交3p| 玛丽玛丽电影原版免费观看1977| 久久全球大尺度高清视频| 欧美一个色资源| 成人在线中文字幕| 国产欧美日韩视频在线观看| 国产精品大片免费观看| 欧美成人video| 亚洲欧美激情小说另类| 亚洲国产精品一区二区www| 久久精品成人动漫| 日韩一级免费片| 久久精品欧美一区二区三区不卡| 色哦色哦哦色天天综合| 少妇人妻大乳在线视频| 欧美videos粗暴| 激情黄色小视频| 精品国产一区久久| 日av在线不卡| 日韩电影中文字幕| 99久久免费国产精品| 青青草原综合久久大伊人精品| 熟妇高潮一区二区三区| 久久精品午夜福利| 最新国产在线视频| 电影一区二区在线观看| 狠狠做深爱婷婷综合一区| 51免费午夜啪啪| 人人干人人干人人| 欧美日韩免费一区| 日本一区二区三区国色天香| 日本免费一区二区三区等视频| 九九久久精品视频| 亚洲免费电影在线| 青青草av网站| www.99热这里只有精品| 色综合久久中文字幕综合网| 精品人妻一区二区三| 91高潮大合集爽到抽搐| 日韩视频中文| 香港三级韩国三级日本三级| 中文字幕日本一区二区| 日韩欧美国产一二三区| 国产乱妇无码大片在线观看| 国产大片免费看| 中文字幕欧美日韩一区二区| 国产亚洲女人久久久久毛片| 激情在线视频播放| 精品亚洲第一| 日本成人中文字幕| 欧美一区永久视频免费观看| 欧美aaaaaa午夜精品| 婷婷精品视频| 国产成人免费在线观看视频| 手机福利视频欧美| 久草在线资源福利| 精品国精品国产尤物美女| 精品国产123区| 日本va欧美va欧美va精品| 亚洲天堂最新地址| 国产乱码精品一区二区三区四区| 91精品久久久久久久久| 91动漫在线| 蜜芽视频在线观看| 日本五十路在线| 亚洲一级中文字幕| 欧美一级日本a级v片| 男人添女荫道口女人有什么感觉| 午夜久久久精品| 韩国日本一区二区三区| 毛片在线导航| 久久久精品在线观看| 亚洲人成在线网站| 亚洲qvod图片区电影| 欧美一级网站| 免费观看又色又爽又黄的网站| 亚洲偷熟乱区亚洲香蕉av| 欧美成在线观看| 嫩草影院入口一二三| 天堂社区日本电影超碰| 国产日韩欧美在线观看视频| 7777精品伊人久久久大香线蕉最新版| 欧美日韩国产一区二区三区地区| jlzzjlzz欧美大全| 亚洲精品色图| 欧美军同video69gay| 久草在线免费福利资源| 欧美日韩免费做爰视频| 欧美家庭影院| 天海翼视频在线观看| 九九爱免费视频在线观看| 潮喷失禁大喷水aⅴ无码| 国产精品无码2021在线观看| 欧美亚洲精品一区二区| 亚洲精品自拍区在线观看| 国产又黄又大又粗的视频| 天堂av在线免费| 黄色网址免费在线观看| 99riav1国产精品视频| 在线免费av网站| 精东传媒在线观看| 国产电影一区二区| 欧美成人一区二区在线观看| 制服丝袜在线第一页| 97中文字幕在线观看| 天天操夜夜操很很操| 亚洲国产欧美一区二区三区同亚洲| 亚洲国产一区二区精品视频| 日本一区二区三区dvd视频在线| 免费又爽又黄禁片视频1000片| 国产一线二线在线观看| 国产精品自拍小视频| 成人免费看黄网站| 日韩一区二区三区在线观看| 8x福利精品第一导航| 国产精品chinese在线观看| 一区二区三区成人在线视频| 欧美肥臀大乳一区二区免费视频| 国产欧美一区二区三区鸳鸯浴| 99热这里有精品| 日韩精品成人一区二区在线| 亚洲精品视频区| 麻豆精品国产91久久久久久| 国产精品久久久久婷婷二区次| 欧美熟妇交换久久久久久分类| 日本少妇裸体做爰| 日本道免费精品一区二区三区| 亚洲第一狼人区| 精品国产一区二区三区在线| 中文字幕成人| 四虎永久成年免费影院| 色内内免费视频播放| 91wwwcom在线观看| 在线视频免费观看一区| 男人天堂免费视频| 日韩欧美在线网址| 久久午夜精品| 成人免费视频app| 国产精品免费视频久久久| 亚洲永久在线| 欧美精品在欧美一区二区| 美国av在线播放| 色撸撸在线视频| 国产欧美精品一区二区三区-老狼| 亚洲天堂免费看| 免费成人深夜夜行p站| heyzo欧美激情| 少妇精品无码一区二区免费视频| 成人免费无遮挡无码黄漫视频| av小说在线观看| 欧美日韩一区二区区| 136国产福利精品导航网址| 亚洲欧美自拍一区| av软件在线观看| 一二区在线观看| 毛片基地在线观看| jizzjizz中国精品麻豆| 性欧美一区二区三区| 中文字幕在线日韩| 黄网站免费在线| 欧美极品少妇xxxxⅹ免费视频| 情趣视频网站在线免费观看| 亚洲精品免费在线观看视频| 国产美女极度色诱视频www| 色婷婷久久综合| 性感美女一区二区三区| 国产精品久久久精品a级小说| 欧美成人精品福利| 刘亦菲国产毛片bd| 亚洲高清在线看| 亚洲精品白虎| 日韩免费一区二区三区| 自拍偷拍亚洲| 色悠悠国产精品| 欧美aaaaaa午夜精品| 特黄特色特刺激视频免费播放| 国产亚洲欧美日韩精品| 国产chinese精品一区二区| 年下总裁被打光屁股sp| 国产经典中年夫妇盗摄| 国产伦精品一区二区三区视频金莲| 狠狠色狠狠色合久久伊人| 在线免费观看污| 日产日韩在线亚洲欧美| 韩国女主播一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 91久久偷偷做嫩草影院电| 欧美另类视频在线观看| 成人在线观看小视频| 999亚洲国产精| 精品人妻一区二区三区浪潮在线| 日韩a在线观看| 超碰超碰97| 精品99久久久久成人网站免费| 无码人妻丰满熟妇精品| 尤蜜粉嫩av国产一区二区三区| 男人的天堂亚洲在线| 欧美精品一区在线观看| 久久动漫网址| 91在线观看| 久久这里只有精品首页| 欧美,日韩,国产在线| 国产精品1234区| 精品捆绑调教一区二区三区| 北条麻妃国产九九精品视频| 欧美亚洲免费电影| 亚洲色图丝袜| 免费成人网www| 国产欧美一区二区三区另类精品| av先锋影音资源站|