2011-03-17 6 views
0

ユーザー名とパスワードに基づくログインの検証は、私が行ったPHPアプリケーションに対して行われます。ログインの検証+ IPアドレスの検証PHPで

私もIPアドレスの検証を実装する。(ユーザが同時に2つの異なるIPアドレスからログインすることはできません)

私は、これは本番環境での信頼性になり、疑問に思って?何人かは、プロキシアドレスだけがPHPサーバによって取得されると言いますから。そうですか?

答えて

1

が考慮すべきいくつかのことをtheresの:

それはあなたのシステムの異なる、正当なユーザーが自分のISPからIPを共有するかもしれないという可能性以上のものです、セットアップのこのタイプは、NATと呼ばれています。同じ正当なユーザーからの別々の要求が、同じセッション中に異なるIPアドレスに渡ってくる可能性があります。これはまれですが起こります。あなたが言及しているプロキシも同様に実際の可能性があります。

このような機能を実装する前に、慎重に考えてください。

0

あなたは、私は適切な解決策について長く考えなければならないが、多分あなたはセッションで何かを行うことができます(と、それは名前です)$ _SERVER [「REMOTE_ADDR」]

とIPアドレスを取得します

http://www.php.net/manual/de/function.session-name.php

多分私達はデータベースも必要とします。明日もう一度返信されるかもしれませんが、それは午前6時です。

0

プロキシのことは本当です。要求がプロキシを通過するたびに、IPが変更されます。最後に、申請が通過した最後のプロキシのIPを持っている可能性があります。

0

IPアドレスの検証を実装する必要がある場合は、システムにアクセスすることが許可されているリストIPを保持し、それに対してクライアントIPをチェックする必要があります。

プロキシサーバーがHTTP_X_FORWARDED_SERVER、HTTP_X_FORWARDED_SERVERなどのヘッダーをチェックして、発信元IPアドレスを特定することがある場合は気にします。これがソックスプロキシサーバーで動作するかどうかはわかりません。