2017-08-24 75 views
-3

不是PHP專家。我在這裏有一個基於一個IP重定向的片段。假設我有一個多個IP列表,重寫這個以容納多個IP(可能在一個列表中)的最佳方法是什麼。謝謝你的幫助!多個IP重定向

<?php 
// Redirect if IP matches 
if (strpos($_SERVER['REMOTE_ADDR'], "192.168.1.")!==FALSE) 
{  
    header ('Location: redirect.php'); 
} 
?> 

編輯:讓我改說一下,因爲我得到的是downvotes。當然,數組很棒,但我仍然想使用strpos來獲取範圍。

+0

可能是更好的使用數組,然後檢查其在陣列 – Qirel

+0

注:您的邏輯將目前也匹配'192.168.1.10','192.168.1.11 ',等等...... – David

回答

3

使用數組來做到這一點:

if (in_array($_SERVER['REMOTE_ADDR'], ["192.168.1.1", "192.168.1.2", ...])) 
+0

但是,怎麼樣使用strpos的範圍? –

+1

@KirillChatrov看看https://stackoverflow.com/questions/2869893/block-specific-ip-block-from-my-website-in-php/2869931#2869931,你應該可以做一個數組來自ip2long的值在每個字符串上運行,然後檢查REMOTE_ADDR的ip2long是否在數組中 – Charles