2016-04-22 6 views
-1

ウェブアプリケーションを使用して特定のウェブサイトをブロックしようとしています。だから、私は "http://www.google.com"と仮定してURLを入力すると、Googleが自分のアプリケーションによってブロックされているかどうかを最初に確認する必要があります。ウェブサイトを開いていない場合は、ブラウザのリクエストを拒否して開きます。私はそれを処理することができるようにブラウザからすべてのHTTP要求をキャプチャする方法を見つけることができません。Javaを使用してウェブサイトをブロックする

私はプロキシが最も適した選択肢であることを知っていますが、これに対する代替解決策があります。いくつかの検索の後、私はライブラリ - jpcap(ネットワークパケットキャプチャライブラリ)を見つけました。そして、これが私の助けになるかどうか疑問に思っていましたか?

答えて

1

作成しようとしているのは、プロキシサーバーです。あなたが望むものを提供

あなたはなど、それらを再ルーティングし、あなたがウェブサイトを拒否することができ、プロキシを通過するようにブラウザを設定する必要が

多くのプロキシが既に存在(オープンソースと商用)があります。例えば

:イカhttp://www.squid-cache.org/

は、ここでは、プロキシのWikipediaの説明を参照してください:https://en.wikipedia.org/wiki/Proxy_server

多くのファイアウォール製品は、HTTP/HTTPSトラフィックがプロキシにファイアウォールを通過するすべてのリダイレクト、透過プロキシのサービスを提供していますサーバ。あなたは直接接続しているようですが、あなたのパッケージは本当にフィルタリングされています。透明なプロキシです。

割り当てがこのコンテキストを許可しない場合は、実際にフィルタリングの権利がある場合は、割り当てを再度確認する必要があります。

サーブレットまたはサーブレットフィルタからブラウザのIP通信を引き継ぐことはできません。 (サーブレット)フィルタを使用すると、アプリケーションに送られるリクエストのみをフィルタリングできます。上記の1つのステップでは、アプリケーション・サーバー・バルブ(Tomcatはこの用語を使用し、別のものは別のものを使用することがあります)を使用して、そのサーバーに向けられた要求のみをフィルタリングできます。

クライアントがサーバーと同じネットワークを共有していない場合は、トランスペアレントプロキシを適用することすらできません。アプリケーションサーバーの上の(または下)のステップは物理サーバーとネットワークです。ブラウザーはクライアントコンピューター上で実行されているため、世界のほとんどのクライアントはサーバーと同じネットワークゾーンを共有しません。

期待通りに機能しません。

+0

そのアイデアは私の心を横切った。しかし、問題は、これは学校の割り当てとプロキシの使用やブラウザの設定がオフになっていることです。 –

+0

私はあなたを理解しており、これ以上は同意できませんでした。しかし、この質問をする私の全ポイントは、別の方法を知ることでした。 –

関連する問題