ホームページ  >  記事  >  バックエンド開発  >  チケットのブラッシングからクライアント IP を取得する方法を学習する

チケットのブラッシングからクライアント IP を取得する方法を学習する

WBOY
WBOYオリジナル
2016-07-29 09:15:041163ブラウズ

私の個人的なブログ、ソースアドレス: http://www.woniubi.cn/get_client_ip/

過去 2 週間、私は友人の親戚の子供がチケットを磨くのを手伝いました。この過程で、システムの再インストール、ゴミの除去、タオバオでの買い物、QQ の盗用、映画のダウンロード、特定のソフトウェアが使用できないなどの問題にも遭遇しました。できないと言えば、彼らは言うでしょう。パソコンのスキルは非常に優れており、問題は解決できません。

ブラッシングチケットは、さまざまな制限、登録ユーザー、認証コード、IP制限に分かれています。この投票 Web サイトではなく、この投票ブラッシング Web サイトには IP 制限があります。制限を突破したい場合は、ユーザーの IP を取得する方法を理解する必要があります。

1:getenv('HTTP_X_FORWARDED_FOR')
2:getenv('HTTP_CLIENT_IP')
3:getenv('REMOTE_ADDR')

HTTP_X_FORWARDED_FOR

これはhttpヘッダーから取得され、その形式はA ip、B ip、C ipです。この状況には 2 つの理由があります

  1. Web サイトでは過剰な トラフィック のため負荷分散が使用されているため、ユーザーが直接アクセスできないようにアプリケーションの前にロード バランサーが配置されます。
  2. ユーザーはプロキシを使用してアクセスします。

ユーザーは最初に IP を使用します。プロキシのレイヤーが追加されるたびに、このヘッダーは最後にカンマで区切られて IP を 1 つ追加し、最終的に実際の Web コンテナーに到達します。ヘッダーから情報が得られる限り、その情報は偽造可能です。したがって、この場合に使用される A IP はユーザーの実際の IP ではない可能性があります。したがって、この場合、ロードバランサーに接続されている IP をユーザーの実際の IP とみなすことしかできません。少なくともこのデータは正しいです。ただし、この IP はユーザーの実際の IP ではなく、ユーザーのプロキシ IP である可能性があります。しかし、この状況は少なくともユーザーの偽の IP よりはマシです。

HTTP_CLIENT_IP

これも元々はユーザーの実際の IP を記録することを目的としていましたが、ほとんど使用されません。

REMOTE_ADDR

これは、接続を取得するための IP です。小規模な Web サイトのみがこの方法を使用し、データを直接公開します。サイトは負荷分散なしの単一ポイントです。上位層が pxory を使用する場合、このデータはプロキシの IP です。

私がやったことは、x-forwarder-for データを直接偽造して騙すことでした。しかし、数日以内にこの脆弱性が発見され、その後、プロキシを使用して直接スワイプすることに切り替えました。

以上、スワイプチケットからクライアントIPを取得する方法を内容も含めて紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。