我只需要從特定IP地址訪問站點。如何僅使用PHP訪問指定IP的網站
這是可能使用PHP。
該項目正在開發中,一些人使用它,並說「該網站不好」。所以
我喜歡避免那種事情。這就是爲什麼我需要這個解決方案。
我只需要從特定IP地址訪問站點。如何僅使用PHP訪問指定IP的網站
這是可能使用PHP。
該項目正在開發中,一些人使用它,並說「該網站不好」。所以
我喜歡避免那種事情。這就是爲什麼我需要這個解決方案。
試試這個:
if ($_SERVER['REMOTE_ADDR'] == "x.x.x.x")
echo "admin";
else
echo "user";
它會檢查用戶的IP和做動作。
您可以使用$ _SERVER變量來檢查源是否來自您所限制的IP。下面是一些有用的功能段($ S就是$ _ SERVER):
function gethostname($ip){
return gethostbyaddr($ip);}
function gethostnamepretty($ip){
$host=gethostbyaddr($ip);
$host=explode('.',$host);
$max=count($host);
return $host[$max - 2];}
function getRawRealIP($s){
if (!empty($s['HTTP_CLIENT_IP'])) //check ip from share internet
{
$ip=$s['HTTP_CLIENT_IP'];
}
elseif (!empty($s['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{
$ip=$s['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$s['REMOTE_ADDR'];
}
return $ip;}
function checkIP($ip){
return long2ip(ip2long($ip));}
function useragent($s){
return $s['HTTP_USER_AGENT'];}
HTTP_CLIENT_IP? – 2010-07-20 06:14:37
我會建議使用的,而不是添加這對你的PHP代碼.htaccess文件:
RewriteEngine On
RewriteBase /
# IPs that are still allowed to view everything
RewriteCond %{REMOTE_ADDR} !^213.123.39.12$ [NC]
RewriteRule !^(noentry_image.jpg|favicon.ico)$ sorry_stay_out.html [L]
只是把將「.htaccess」文件放入您的網站的根目錄中。然後,所有人都將被重定向到包含noentry_image.jpg的sorry_stay_out.html頁面。
來自被允許的IP的所有訪問者都會正常看到該網站。您可以根據需要隨時重複使用不同IP的「RewriteCond%{REMOTE_ADDR}!^ 213.123.39.12 $ [NC]」行,以添加其他IP。
替代與正好擋住:
order allow,deny
allow from 62.57.16.192
allow from 72.232.56.154
deny from all
有時REMOTE_ADDR給出的IP地址是無效的(例如,由代理通過),這樣你就可以檢查使用HTTP_CLIENT_IP等(見下文片段)。雖然這些方法都不能檢測IP欺騙者。 – ina 2010-07-20 07:39:25