2012-05-04 11 views
5

こんにちは私は別の質問があります。私はPHPで簡単なウェブサイトを作成しています。ローカルネットワークで自分のウェブサイトの可視性に問題があり、私は使用しましたPHP - ローカルネットワークでのみページを表示する方法

$_SERVER['REMOTE_ADDRESS'] 

私はそれを自分のLANに見せたいと思っています。

どうすればいいですか?

+0

内部IPアドレスを指定してみましたか? – Lix

+0

サーバーは、アクセスするために使用しているコンピュータと同じネットワーク上のWebページを提供していますか?あなたはそれが本当であることを確認する必要があります。8888などの奇妙なポートでは提供されていないことを確認する必要があります。 – Josh

+2

PHPコードではなく、Webサーバーまたはファイアウォールの設定でこれを行う必要があります。 –

答えて

12

.htaccessでも可能です当社のIP /サブネット、次のように:コースの

Order Deny,Allow 
Deny from all 
Allow from 192.168.1.1/24 

それはあなたのLAN

+0

こんにちは、私はこの質問は少し古いですが、私は問題があります。私は私のLAN( '192.168.2.1/24')でこれを試してみましたが、ネットワーク上の他のコンピュータでうまく動作しますが、同じコンピュータからアクセスすると403エラーが発生します。 127.0.0.1も追加しましたが効果はありませんでした。私たちを手伝ってくれますか? – Scriptim

0

私は全くわからないが、多分これは良い十分な解決策です:

if(substr($_SERVER['REMOTE_ADDRESS'], 0, 3) == '10.') { 
    // welcome... 
} 
+0

あなたのIPが '10.0.0.0/8'ブロックにない場合、動作しません。 – Tibor

+0

@Vicは10ではありません。プリンタ用に予約されていますか? – Ozzy

+1

もちろん、そうではありません!これは、ローカルネットワーク用の完全に有効なIPの選択肢です。 http://www.faqs.org/rfcs/rfc1918.html#b – Tibor

5

あなたの.htaccessファイルでこれを行うべきです。

まず、拒否を指定するには、 を入力し、許可するIPアドレスのリストを指定します。

order deny,allow 
deny from all 
allow from X.X.X.X 
allow from X.X.X.X 
allow from X.X.X.X 

あなたは、このような範囲に許可することができます:あなたは1.2.3.2541.2.3.2551.2.4.11.2.4.21.2.4.3、および1.2.4.4
を許可する場合は

allow from 10.0.0.0-10.255.255.255 
allow from 10.0-255.0-255.0-255 
allow from 10.*.*.* 

は、あなたがこのようにそれを行うことができます。

allow from 1.2.3.254-1.2.4.4 
+5

クライアントがIPv6経由でアクセスしようとすると、少なくとも 'fe80 ::/64'も有効にする必要があります) – Tibor

+0

Apacheは指定されたコードを使用してエラーを返します: 'orderは1つの引数、 'allow、deny'、 'deny、allow'または 'mutual-failure'をとります。 'order deny、allow'の2番目の空白は削除する必要があります。 –

+0

私は今これを反映する答えを更新しました。ありがとう@MarcelPfeiffer – Ozzy

1

と一致する必要があります最高の投票答えは、Apache 2.2のために真です。 2.4を使用する場合は、次のようなものを使用する必要があります。

<Limit GET POST> 
Require all denied 
Require ip 192.168.1.0/24 
</Limit> 
関連する問題