我試圖確定網站訪問者是否來自歐盟國家,如果是,則根據他們的法律向他們展示 cookie 同意橫幅。
我下載了一個列出所有歐盟國家 IPv4 的表格(即:1.178.224.0/19)并將其上傳到 mySQL。表中有 107,000 行。我可以使用 $_SERVER['REMOTE_ADDR'] 獲取用戶 IP。如果用戶的 IP 地址在該范圍內,我正在尋找使用 PHP 檢查的最簡單和最快捷的方法。
一個想法是在表中創建 2 列,其中包含每個 IPv4 的起始和結束長整數。該網站將使用 ip2long() 將用戶 IP 地址更改為長整數,然后查看它是否在任何 IPv4 的 2 列范圍內。不確定這是否可能。如果這是個好主意,我如何獲得 IPv4 地址的起始和結束長整數?
我找到了幾種解決方案來查看 IP 是否在我的表中列出的范圍內(即:1.178.224.0/19),但是對于 107,000 行,這可能需要一段時間來處理。我正在尋找一種運行速度快的解決方案,以免減慢不在歐盟國家/地區的每個用戶的速度。
uj5u.com熱心網友回復:
您可以使用免費的在線服務,而不是自己嘗試實施地理定位。您可以非常快速地實作這一點。以這項服務為例:
http://geolocation-db.com/documentation
我會使用 Javascript 而不是 PHP,并且只有當用戶在歐盟國家/地區時,您才會彈出 cookie 同意橫幅。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/355209.html
上一篇:如何處理冬夏令時
