PHP get client real ip behind Cloudflare

閱讀時間約 1 分鐘
Laravel 透過request()->ip拿到的ip不是client real ip,原來是因為前面有一層cloudflare,解決方法如下,改用下面這段script來取ip:
可以包成helper function方便使用。
值得一提的是,HTTP_CF_CONNECTING_IP有可能是偽造的,可以從$_SERVER['REMOTE_ADDR'] 檢查裡面是否有從cloudflare來的ip,詳請可參考:
https://thisinterestsme.com/php-ip-address-cloudflare/
為什麼會看到廣告
21會員
161內容數
留言0
查看全部
發表第一個留言支持創作者!
Vic Lin的沙龍 的其他內容
MySQL 取得現在日期半年前的日期: DATE_SUB(CURRENT_DATE(), INTERVAL 6 MONTH) 本筆記參考: https://www.w3schools.com/sql/func_mysql_date_sub.asp
Laravel中在某些條件下COUNT且指定欄位value重複只算一次: DB::raw('COUNT(DISTINCT customer.customer_id AND IF(contact_result.invalid_flag = "Y", 1, NULL)) AS contact_inval
//找出日期年份是2021年的 ->whereYear('datetime', 2021) //找出日期月份是7月的 ->whereMonth('datetime', 7)  //找出小於等於一個月前的 (找出小於等於2021年6月的) ->whereDate('datetime', 'subM
E 本筆記參考: 1. https://stackoverflow.com/questions/40529355/laravel-eloquent-group-by-month-year
mysql中假設groupBy('customer_id') MIN('giveup_date'), 如果欄位中有NULL, 則預設會被忽略。 以下圖為例, 則會拿到2021-09-24 16:42:20。 實務上可能會遇到不想忽略NULL的情況, 解決方法如下: ->select(    DB
Create React App 提供了快速建立React App環境的方法: 1. 安裝node.js 2. 建立React project: $ npx create-react-app my-app 3. 啟動app $ cd my-app $ npm start npm start之後即打
MySQL 取得現在日期半年前的日期: DATE_SUB(CURRENT_DATE(), INTERVAL 6 MONTH) 本筆記參考: https://www.w3schools.com/sql/func_mysql_date_sub.asp
Laravel中在某些條件下COUNT且指定欄位value重複只算一次: DB::raw('COUNT(DISTINCT customer.customer_id AND IF(contact_result.invalid_flag = "Y", 1, NULL)) AS contact_inval
//找出日期年份是2021年的 ->whereYear('datetime', 2021) //找出日期月份是7月的 ->whereMonth('datetime', 7)  //找出小於等於一個月前的 (找出小於等於2021年6月的) ->whereDate('datetime', 'subM
E 本筆記參考: 1. https://stackoverflow.com/questions/40529355/laravel-eloquent-group-by-month-year
mysql中假設groupBy('customer_id') MIN('giveup_date'), 如果欄位中有NULL, 則預設會被忽略。 以下圖為例, 則會拿到2021-09-24 16:42:20。 實務上可能會遇到不想忽略NULL的情況, 解決方法如下: ->select(    DB
Create React App 提供了快速建立React App環境的方法: 1. 安裝node.js 2. 建立React project: $ npx create-react-app my-app 3. 啟動app $ cd my-app $ npm start npm start之後即打
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
在本章節中,我們探討了 PHP 中如何引用和管理套件。學習了如何使用 Composer 來安裝第三方套件,以及如何引用自定義模組。此外,我們還介紹了如何創建和使用自定義套件,並列舉了一些在 PHP 社群中常見且廣泛使用的套件和庫。通過掌握這些知識,開發者可以更有效地管理和利用各種資源。
Thumbnail
本章介紹了 PHP 中的例外處理技術,包括其語法、常見異常類型以及如何主動觸發異常訊息。我們還學習了如何自定義異常類別,以便更好地管理和處理不同類型的異常情況。通過使用例外處理,可以提高程式碼的穩定性、可讀性和可維護性,並提供更優雅的錯誤信息處理機制。
Thumbnail
這一章節旨在介紹 PHP 中的物件導向編程(OOP)概念。通過詳細講解類別、建構子、訪問修飾符(公開、私有、受保護)、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型和反射等概念,使讀者能夠理解和應用這些 OOP 技術來編寫更具結構性和可維護性的 PHP 代碼。
Thumbnail
在這一章中,我們探討了 PHP 中的函數,包括函數的基本結構、不同的函數定義方式(如函數聲明、函數表達式、箭頭函數和匿名函數)以及如何呼叫函數。我們還討論了函數的參數處理方式,包括單個參數、多個參數、預設參數值和剩餘參數。此外,我們還介紹了函數的返回值,包括返回單個值、返回物件和返回函數的情況。
Thumbnail
在這一章中,我們介紹了PHP中的流程控制語句,包括if、else if、else、三元運算子、switch語句、for迴圈、foreach迴圈、while迴圈、do-while迴圈、循環嵌套以及控制迴圈的語句如break、continue、goto和return。
Thumbnail
在PHP中可以用$this、self、與static代表自己這個類別,有些人可能搞不清楚他們的區別,尤其是self、與static,但是他們各別有自己的意義和用法,在實戰中這些些微的差別可能就會造成不可預期的問題,本文仔細說明了他們之間的差別。
Thumbnail
在PHP的團隊開發中,PHP CS Fixer可以確保每個開發人員的Coding Style相同,是相當重要的工具。本篇文章將會詳細說明PHP CS Fixer在Linux環境下的安裝方式。
Thumbnail
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。
Thumbnail
本文將介紹在Windows環境中安裝SQL Server及相關PHP擴展,以進行與SQL Server的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與SQL Server串接設定。
Thumbnail
本文將介紹在Windows環境中安裝Oracle Instant Client及相關PHP擴展,以進行與Oracle Database的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與Oracle Database的串接設定。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
在本章節中,我們探討了 PHP 中如何引用和管理套件。學習了如何使用 Composer 來安裝第三方套件,以及如何引用自定義模組。此外,我們還介紹了如何創建和使用自定義套件,並列舉了一些在 PHP 社群中常見且廣泛使用的套件和庫。通過掌握這些知識,開發者可以更有效地管理和利用各種資源。
Thumbnail
本章介紹了 PHP 中的例外處理技術,包括其語法、常見異常類型以及如何主動觸發異常訊息。我們還學習了如何自定義異常類別,以便更好地管理和處理不同類型的異常情況。通過使用例外處理,可以提高程式碼的穩定性、可讀性和可維護性,並提供更優雅的錯誤信息處理機制。
Thumbnail
這一章節旨在介紹 PHP 中的物件導向編程(OOP)概念。通過詳細講解類別、建構子、訪問修飾符(公開、私有、受保護)、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型和反射等概念,使讀者能夠理解和應用這些 OOP 技術來編寫更具結構性和可維護性的 PHP 代碼。
Thumbnail
在這一章中,我們探討了 PHP 中的函數,包括函數的基本結構、不同的函數定義方式(如函數聲明、函數表達式、箭頭函數和匿名函數)以及如何呼叫函數。我們還討論了函數的參數處理方式,包括單個參數、多個參數、預設參數值和剩餘參數。此外,我們還介紹了函數的返回值,包括返回單個值、返回物件和返回函數的情況。
Thumbnail
在這一章中,我們介紹了PHP中的流程控制語句,包括if、else if、else、三元運算子、switch語句、for迴圈、foreach迴圈、while迴圈、do-while迴圈、循環嵌套以及控制迴圈的語句如break、continue、goto和return。
Thumbnail
在PHP中可以用$this、self、與static代表自己這個類別,有些人可能搞不清楚他們的區別,尤其是self、與static,但是他們各別有自己的意義和用法,在實戰中這些些微的差別可能就會造成不可預期的問題,本文仔細說明了他們之間的差別。
Thumbnail
在PHP的團隊開發中,PHP CS Fixer可以確保每個開發人員的Coding Style相同,是相當重要的工具。本篇文章將會詳細說明PHP CS Fixer在Linux環境下的安裝方式。
Thumbnail
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。
Thumbnail
本文將介紹在Windows環境中安裝SQL Server及相關PHP擴展,以進行與SQL Server的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與SQL Server串接設定。
Thumbnail
本文將介紹在Windows環境中安裝Oracle Instant Client及相關PHP擴展,以進行與Oracle Database的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與Oracle Database的串接設定。