2017-02-01 10 views
0

それは次のようにPHPでユーザーのIPアドレスを取得することが可能です:ログインしているWebページへのアクセスを許可するにはどうすればよいですか?

$_SERVER['REMOTE_ADDR'] or $_SERVER['REMOTE_HOST'] 

は、特定のIPアドレス やパスワードなどでノーログインを可能にするウェブサイトを持っている、それは安全ですか?

いくつかのユーザーにウェブページを表示させるオプションが他にもありますか?
ログインページの横にあります。

私は次のように考えている:私は、パスワードを保存することができます1を見つけた場合、私は、 "キオスク" のブラウザを使用することになり

if($_SERVER['REMOTE_ADDR'] == 123.123.1.1){ 
    echo "Welcome!"; 
else{ 
    echo "You do not have permission to enter this site"; 
} 

EDIT


許可されたユーザーは、人間ではなくコンピュータである必要があります。

あなたの仕事ではなく自宅からウェブサイトに入ることができます。

+0

私はIPアドレスに依存しません。おそらくハッシュを作成し、それをクエリ文字列としてリンクに追加します。 –

+0

@OfirBaruch私にこれの例を教えてもらえますか? –

+0

答えを追加しました。 –

答えて

0

私は強くあなたを助けるかもしれない、標準の承認フローを使用することをお勧めいたします以下の中:(リスクがあなたにある...)

page.php

oursecretpass =渡します?
<?php 
$pass = hash('ripemd160', $_GET['pass']); 

if($pass == hash('ripemd160', 'oursecretpass')){ 
    echo "Welcome"; 
} else { 
    echo "Error."; 
} 

より良いオプションは、最初にhash( 'ripemd160'、 '試したい文字列')の出力をチェックすることです。 を使用し、それを「パス」値として使用します。あなたはあなたの友人に、次のリンクを送信ec457d0a974c48d5685a7efa03d137dc8bbde7e3

:それでは、このハッシュ関数の出力があるとしましょう?

page.php渡す= ec457d0a974c48d5685a7efa03d137dc8bbde7e3

とPHPのコードで

だけ最初の行を次のように変更してください:

$pass = $_GET['pass']; 
+0

これは基本的には、 "oursecretpass"とphpで隠されたハッシュ "ripemd160"を組み合わせたものです。しかし "ripemd160"はIPアドレスですか?私はページ上の視聴者が彼/彼女がどのようにアクセス権を持っているか知ることを望まない。 –

+0

私はユーザーのIPをハッシュし、許可されたIPのIPをハッシュするかどうか推測する。私はリンクを使用することができます..コピーすることはできませんあなたとあなたと家に..? –

+0

IPの問題は、IPを変更できることです。一方、キー/ハッシュを持つことは一定です。しかし、どのコンピュータからでもアクセスできます。 –

関連する問題