2012-02-16 7 views
4

私はIPv4上にある既存のPHP Webアプリケーションを持っていますが、どのようにしてアプリケーションの互換性をテストするためにIPv6アドレスを偽装できますか?またはIPv6互換性をテストするためのより良い方法がありますか?IPv6との互換性のためにPHPアプリケーションをテストするには?

更新: 私のアプリケーションは、ユーザーが特定の操作を行っているときにそのユーザーのipを記録します。 IPアドレスはデータベースに格納されています(別の質問から、BINARYが最適な列型であることがわかります)。アプリケーションは、IPで検索することも可能でなければなりません。

IPv6を使用しているかのようにapache/phpを動作させたい場合は、私のアプリケーションのIPv6との互換性がIPv4ネットワークとIPv6ネットワークの両方で使用可能であることを確認する必要があります。

+0

PHPが '--disable-ipv6'でコンパイルされていないかどうかを確認してください – Gordon

+0

アプリケーションは複数のクライアント用ですが、スクリプトのIPv6を互換にするよう頼んだ人もいます。近い将来に – berebidahoo

答えて

0

あなたのウェブサイトはIPv6で正常に動作します。あなたがテストする必要があるのは、IPv6を保管している場合や、何らかの種類のログを記録している場合は、適切に保管することだけです。これを偽造するには、変数をいくつか入力してデータベースに入れるか、それを使って何をしたいのかを決めます。

例:2001:db8::1:0:0:12001:0DB8:0:0:1::1fe80::202:b3ff:fe1e:8329

そうでない場合は、それについて心配しないでください!

+0

私はIPv6を使っていたかのようにapache/phpを動作させたいが、IPv6とのアプリケーションの互換性がIPv4ネットワーク+ IPv6ネットワーク上で実稼動する準備ができていることを確認する必要がある – berebidahoo

5

私はTopenerに同意します。それについて心配しないでください、あなたのウェブサイトはIPv6で正常に動作します。 あなたはapacheやPHPについても心配する必要はありません。うまく動作します。

IPv6アドレスをデータベースなどに保存することだけに気を付ける必要があります。 データベースを適切な方法で保存し、データベースがIPv6アドレスを処理できることを確認してください。あなたは、単にIPv6アドレスに$ _SERVER [ 'REMOTE_ADDR']を変更することができます

echo $_SERVER['REMOTE_ADDR']; // will give you your current IP (probaply IPv4) 

// change the REMOTE_ADDR to an IPv6 address 
$_SERVER['REMOTE_ADDR'] = '3ffe:6a88:85a3:08d3:1319:8a2e:0370:7344'; 

あなたがIPv6を保存に関する追加情報を見つけることができますが、ここでデータベースに対処します

How to store IPv6-compatible address in a relational database

+0

$ _SERVER ['REMOTE_ADDR ']アプリケーションの開始で十分でしょうか?クッキー、アヤックス、その他の副作用はありません。 – berebidahoo

+0

とデータベースにipv6を格納する方法については、読者にこれらを読んでもらうことをお勧めします。http://stackoverflow.com/questions/420680/how-to-store-ipv6-compatible-address-in-a-relational-database&http: //stackoverflow.com/questions/7628528/storing-retrieving-ipv4-ipv6-addresses-in-mysql&http://stackoverflow.com/questions/6242738/detecting-an-ipv6-address-in-php-and- mysql-how-in-mysqlを正しく保存する – berebidahoo

+0

クッキーとajaxが知っている限り、IPの影響を受けません。 – Mark

0

アプリケーションがIPアドレスを記録する場合は、それらのフィールドを格納するフィールドが十分大きいことを確認してください。これらのログを処理するアプリケーションがIPv6アドレスの処理方法を知っていることを確認してください。ブロック/範囲でアドレスを検索する必要がある場合は、appropriate storage typesを使用してください。 IPアドレスに基づいてアクセス制御を行うと、IPv6拡張機能が有効になっているIPv6クライアントが頻繁に送信元アドレスを変更する可能性があるため、少し難しくなります。

そして、最も重要:

0

:-)テスト、テスト、テストはまた、IPv6を比較するための文字列比較が十分でない、住所があることに注意してください。同じIPアドレスの異なる表現があります。例えば、2001:0DB8:0:0:1::1は短い形式の2001:0db8:0000:0000:0001:0000:0000:0001です。

関連する問題