Torはプライバシーと匿名性を高めるために制定された通信規格で、その技術を使用したWebブラウザもあります。
匿名性という観点では利点もありますが、犯罪目的で利用される場合もあり、WEBサイトを運営する場合、Torからのアクセスを遮断したい場面もあるかと思います。
今回PHPを使用して、アクセスを遮断するサンプルを記述したいと思います。
その前に、Torからアクセスする場合、複数のノードと呼ばれるサーバ(IP)を経由し、最後に経由したノード(IP)から最終的に、インターネット上のWEBサーバにアクセスされます。この最後のノード(IP)は 「Tor exit ノード」と呼ばれ、そのIPアドレス一覧はTor公式サイトで、公開されています。
公開サイトのアドレスは以下になります。
こちらのサイトから、IPアドレス一覧を取得し、WEBサーバ側ではWEBサーバにアクセスしてきたIPアドレスと一覧のIPアドレスを突き合わせることでTorからのアクセスであることをチェックすることができます。
Tor(The Onion Router)は、匿名性を提供するために設計されたオープンソースのソフトウェアおよびネットワークです。このネットワークを利用すると、インターネット上での通信を匿名化することができます。Torネットワークでは、トラフィックを複数のノードを経由してルーティングすることで、ユーザーのIPアドレスや位置情報などの個人を特定する情報を隠すことができます。これにより、ユーザーはオンライン上でよりプライバシーを保護し、検閲や監視を回避することができます。
Torは、一般的にはウェブブラウジングやオンラインコミュニケーションなどのプライバシーを重視する目的で利用されますが、違法な活動や悪用にも使われることがあります。