我遇到了一些對我來說似乎很簡單的問題,但現在證明非常困難。也許我在想它 - 會愛你的幫助。PHP檢查對IP地址敏感的子域名
概述: 我有兩個接口,一個Web應用程序(1 客戶和1 客戶)。全部客戶獲得路由單向和全部客戶端獲得路由另一個。我根據他們的子域來確定顯示哪個登錄屏幕。 客戶獲得基本域(+ WWW)和客戶去[CLIENTNAME] .example.com的
問題: 我被上ENV做字符串操作之前確定這( 「HTTP_HOST」 ) - 請參閱下面的代碼。但是,現在在使用本地IP(用於與其他設備/人員進行測試)時會出現問題。我的代碼,它尋找'。'在因爲IP地址有3個點和「本地主機」主機環境未能有0
這是我建立了不同的命名參數,我怎麼想的路線......
CUSTOMER ----------------------------- CLIENT
xyz.example.com ------>
<------ www.example.com
<------ example.com
xyz.localhost ------>
<------ www.localhost
<------ localhost
xyz.192.168.X.X ------>
<------ www.192.168.X.X
<------ 192.168.X.X
我可能真的在想這個,並希望有一些簡單的PHP函數,如「get_subdomain()」,將爲我做這個。但我沒有看到它,真的會喜歡一些幫助。
謝謝!
目前代碼:
$host = env("HTTP_HOST");
$group = null;
// if there is exactly one dot IE example[dot]com then there is no subdomain
if(substr_count($host,'.')==1){
$group = 'customer'
}else{ // there is a subdomain
$subdomain = substr($host, 0, strpos($host, "."));
if($subdomain=='www'){
$group = 'customer'
}else{
$group = 'client'
}
}
CakePHP的是否有幫助?
這就是我這樣做的,但我注意到一個問題的原因是我正在開發一個移動應用程序來陪伴網絡應用程序。此移動應用程序需要通過我提供的LAN IP與本地計算機通話。據我所知,手機沒有我可以編輯的主機文件。所以除非我在cakephp bootstrap中自己編碼,否則我需要一個更好的方法來確定子域。 – isick
我相信可以在Android手機上編輯hosts文件,但它需要一些第三方應用程序。這個討論例如:http://forum.xda-developers.com/showthread.php?t=514698 –
謝謝你將看到更多。 – isick