web-dev-qa-db-ja.com

ISPがすべてのWebサイトをフレームに入れないようにするにはどうすればよいですか?

私のISPは、私が訪問するすべてのページをiframeに配置するという悪い癖があるので、コマーシャルなどでオーバーレイすることができます。

フレームを削除したり、その試みをブロックしたりできるアドオンはありますか?

この場合、AdBlockのようなものが機能しません。

55
TimothyP

Stack Exchangeサイトのフレーム無効化コードが機能している場合は、ユーザースクリプトを記述して、everyサイトにフレーム無効化コードを挿入できます。これまでにユーザースクリプトを作成したことがない場合は、次のリソースから始めてください。

frame busting and frame-bust-buster-busting には、優れたStack Overflowスレッドがあります。理論的には、SO投稿の回答からコードの一部を取得し、ユーザースクリプトを使用してすべてのページに挿入することができます。

52
nhinkle

財布で投票し、このゴミを処理するISPを使用しないでください。

それが不可能な場合は、ISPからのすべてのトラフィックを非表示にして、ISPが内部を見ることができないようにし、その結果、トラフィックを変更することをお勧めします。これは、トラフィックのすべてまたは可能な限り多くを暗号化することで実現できます。

HTTPS Everywhere のようなブラウザアドオンでそれを行うことができます。このアドオンがHTTPS接続を強制するWebサイトの大きなリストがあります。また、ブラウザでSPDYプロトコルが有効になっていることを確認してください。 SPDY仕様の一部として、すべての接続が暗号化されます。

さらに一歩進むには、VPNサービスの使用を検討してください。これにより、トラフィックのコンテンツがISPに完全に隠され、そのようなコンテンツの変更が防止されます。

38
Mxx

ISPが特定のドメインから供給されたJavaScriptを挿入してこれを行う場合、JavaScriptブラックリスト拡張機能を使用して、そのドメインからのJavaScriptの実行を回避できます。 (私が接続するパブリックホットスポットの1つがこのアプローチを使用しています。)ただし、ISPがスクリプト全体を直接挿入する場合、これは機能しないと思います。

Chrome: JavaScriptブラックリスト

Firefox: YesScript

また、広告ブロック拡張機能を使用してJavaScriptをブロックできる必要があります。最も人気のあるものはカスタムフィルターリストをサポートしており、フレーミングコードをキャッチするためにフィルターパターンを追加するのは非常に簡単です。とにかくすでに広告ブロッカーを実行している場合、これは最も賢明なアプローチかもしれません。

16
jjlin

フレーム無効化のトリックに加えて、フレーム化されたページを提供し、それらをブロックするサーバーのIPを取得することをお勧めします。私と同じようにChina Telecomを使用している場合、常にページはフレーム化されません。フレーム化すると、単純なリロードでフレーム化されていないページが表示されます。毎分数百万の接続をハイジャックするとリソースがすぐに停止するため、すべてをフレーム化することはできないと思います。

結局、これらのIPをすべてブロックして、現在の要求を混乱させようとしたときにクリーンな接続エラーが発生するようにしました。その後、リロードして実際のページを取得できることを知っています。この方法の追加の利点は、これらのサーバーに情報を送信しないことですが、フレームを無効にするトリックのために、要求はまだそこにあります(そして、それらが送り返すがらくたを考えると、私は機密情報でそれらを信頼しませんログに記録される可能性があります)。

ここでの情報については、私が現在収集してブロックしているIP:

enter image description here

15
laurent