Web拡張機能でホストのブロックを実装していますが、現時点では["http://*/*", "https://*/*"]
と一致していて、正規表現機能を使用してURLをフィルタリングしていますが、毎回正規表現マッチングを使用するのではなく、これは可能ですか?Firefox拡張機能でwebRequestをブロックするためのTLDワイルドカード?
答えて
webRequest.RequestFilter
MDN URL指定子Match PatternsMDNです。マッチパターンには、トップレベルドメインをワイルドカードする機能がありません。それらはにはこの機能を持たないでください。 TLDにワイルドカードを使用すると、は本質的に安全ではありませんです。そうしようとしてはいけません。 方法はありませんあなたがカバーしようとしている会社/サイトがすべての単一TLDの名前のすべての単一バージョンを取得することを保証するための方法はありません。
複数のTLDを持つ会社がある場合は、各TLDで自分が所有するドメインのリストを特定し、個別に指定する必要があります。はい、限定されたTLDのセットを提供する正規表現でそれを指定するのはテキストが少ないかもしれません。その後、例えば
、正規表現が許可された場合、https://example.com、https://example.org/、およびhttps://example.edu/は/https?:\/\/(?:[^.\/]*\.)*example\.(?:com|edu|org)\//
のようなものだったかもしれないが、マッチパターンは正規表現を持っていません。 *
という限定されたワイルドカードは、TLDの代わりに使用される場合、TLD、またはドメインとサブドメインにも一致するものを表します。したがって、最終的には、TLDを含む各ドメインを個別にリストする必要があります。
あなたが決定したように、もう1つの方法は<all_urls>
(または類似のもの)を使用し、ハンドラ内でフィルタすることです。そうすることは最適ではない。そうした場合は、リスナーを早くする作業に取り組む必要があります。少なくともURLがそうであると判断されるまで、無関係の操作を実行すべきではありません。それ以上の処理は行われません。
私はTLDワイルドカードがwebrequest BLOCKINGに関して安全でないという議論を聞きたいと思っていますが、私は間違いなく内容を注入することに関してセキュリティの面を理解しています。 – regularjoe
@regularjoe、あなたが*唯一の*ブロッキングの場合、問題は設計意図/ユーザーの期待に反する操作です。しかし、インターフェースとパターンマッチは、一般に、コンテンツスクリプトを挿入するときを含め、より広範なアプリケーション用に設計されています。これは、 'webRequest.RequestFilters'のためにもっと複雑なものを使うことができなかったという意味ではありません。結局のところ、彼らは['events.UrlFilter'](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/events/UrlFilter)を使用している可能性があります。既に存在し、 'webNavigation'で使用されており、RegExpのマッチングをサポートしています。 – Makyen
- 1. スクリプトタグを解析するためのFirefox拡張機能のビルド
- 2. コードスニペットを保存するためのFirefoxアドオン/拡張機能?
- 3. Javascript - Chrome拡張機能 - Webrequest - Responsebody
- 4. は、Firefoxの拡張機能
- 5. Firefox拡張機能のlocalStorage
- 6. Firefoxの拡張機能をリバースエンジニアリングする
- 7. Firefox拡張機能localStorageイベント
- 8. Firefox拡張機能とnsIMutationObserver
- 9. Firefox拡張機能 - ベストプラクティス
- 10. プレイは、Firefoxの拡張機能で
- 11. Firefox拡張機能をBHOに移植する(ブラウザヘルパーオブジェクト、別名IE拡張機能)
- 12. Firefox拡張機能のダイアログを開く
- 13. Chrome拡張機能がブロックされていませんwebRequest does not all working
- 14. Firefoxの拡張機能:ネイティブコードの実行?
- 15. Firefoxの拡張機能のオブジェクトリテラル
- 16. Firefox拡張機能のインストール前のチェック
- 17. 画像をFirefox拡張機能に含める
- 18. Firefox拡張機能: "onInstalled"イベントをキャッチ
- 19. Firefox拡張機能のIPアドレス検索
- 20. Firefox用のWeb拡張機能
- 21. Web拡張機能:Firefoxのアップデートメニューandroid
- 22. DOM ChangedイベントFirefox拡張機能
- 23. firefoxアドオンと拡張機能対プラグイン
- 24. Firefox拡張機能:選択したテキストを取得する
- 25. Firefox拡張機能にSWFファイルを埋め込む
- 26. Firefoxの拡張機能で通知のタイムアウトを変更する
- 27. Firefoxの拡張機能でパネルの内容を更新する
- 28. Web拡張機能(Firefox)で通知が機能しない
- 29. Firefox拡張機能でnsIURIContentListenerを使用する際の問題
- 30. Firefoxの拡張機能でJavascriptを挿入するには
ドキュメントおよびサンプル拡張でわかるように、addListenerはURLフィルタリングをサポートしています。 – wOxxOm
TLDフィルタやワイルドカードは表示されませんが、他の方法に移行する前にこれが本当に正しいかどうかを確認しています。 (それは時間の節約になるので) – regularjoe
はい、TLD wirldcardはありません。とにかく、宣言的なURLフィルタリングが適切な方法です。 – wOxxOm