0

ユーザーが登録できるphpmysqlWebサイトを作成しました。htaccessファイル(またはこれを行うための任意のphpコード)を変更して、ip xyzv(vが変化する)で始まる接続のみがサイトに登録できるようにしたいが、誰もがサイトの公開データを表示できるようにします。私は大学の共有ネットワークにいるので、ほとんどのユーザーはワイヤレス接続を介してWebサイトにアクセスします。[これは登録URLです][1]

http://localhost/register.php

現在、サーバー上にないため、このURLを参照できます。

4

4 に答える 4

1

PHPでは、を使用$_SERVER['REMOTE_ADDR']して現在のユーザーのIPアドレスを取得できます。この値を「承認された」アドレスと比較するだけです。たとえば、ユーザーのIPがで始まるかどうかを確認する場合は、次の10.10ようにします。

$allowed = (strpos($_SERVER['REMOTE_ADDR'], "10.10") == 0);

ただし、「有効な」IPアドレスが変更されないことが確実でない限り、IPベースのアクセス制御を使用することは強くお勧めしませ。複数のユーザーが同じIPアドレスを持っているように見え(ネットワークアドレス変換のため)、IPアドレスが再割り当てされることが多いため、このソリューションは実際のシステムではあまり安全ではありません。(電子メールトークン、承認された登録要求、またはサインアップコードの方がはるかに優れています。)

于 2012-09-20T17:47:05.573 に答える
0

$_SERVER['REMOTE_ADDR']代わりにPHPの値を確認することをお勧めします。

http://php.net/manual/en/reserved.variables.server.php

于 2012-09-20T17:47:17.823 に答える
0

登録ページを (ディレクトリまたは場所として) 指定すると、ロックダウンできます。

order deny,allow
allow from x.y.z.
于 2012-09-20T17:47:33.727 に答える
0

htaccess を使用する場合は、これをドキュメント ルートの htaccess ファイルに追加します。できればそこにある他の書き換えルールの上に追加します。

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^x\.y\.z\.
RewriteRule ^register\.php - [L,F]
于 2012-09-20T17:56:02.723 に答える