2013-05-16 71 views
2

我正在創建REST風格的Web服務,但我想保護這些Web服務並希望訪問特定的域名。我已經實現了由PHP下面的代碼:如何限制對有限域名的API訪問?

$allowed_hosts = array("domain1.com", "domain2.com", "domain3.com"); 

    if (!in_array(strtolower($_SERVER["HTTP_HOST"]), $allowed_hosts)) 
    die ("Unknown host name ". $_SERVER["HTTP_HOST"]); 

我想知道這是限制訪問正確的做法?

+0

這是否實際工作?其他方使用的API如何? –

+0

你希望你的服務只能從**特定主機訪問**嗎?這是否意味着這些東道主的人?或從隨機瀏覽器查看託管在這些主機上的網站?請提供更多信息,但這並非明確可以承擔責任。 – deceze

+0

提到的問題:只有列出的域才能訪問我寧靜的web服務 –

回答

2

<Files "admin.php">
Order deny,allow
Deny from all
Allow from .*domain1\.com.*
Allow from .*domain2\.com.*
</Files>

把這個在您的.htaccess文件,因此將只證明從domain1.com訪問admin.php的文件和domain2.com

+0

在.htacess文件中寫入一些重寫規則 –

+0

我可以有任何示例嗎? –

+0

我編輯了答案,所以試試這個代碼 –