0

ホスト名からドメインを「抽出」する関数を作成しました。例えば

www.domain.com -> domain.com
domain.net -> domain.net
www.domain.co.uk -> domain.co.uk
www.subdomain.domain.tx.us -> domain.tx.us

等々。

しかし、すべてのsubTDLのリストを見つけることができませんでした。

関数はまた、nominet.ukなどのドメインに対して間違った結果を返します

それらすべてを見つけることができる提案はありますか?

または、同じ機能を実行する他の方法ですが、たとえばDNSを使用しますか?

4

2 に答える 2

2

「サブドメイン」とは何かの正式な定義がないため、DNS(またはその他のアルゴリズム)を使用してこれを行うことは不可能です。

現時点での唯一の実用的な解決策は、 http://publicsuffix.org/から入手できる「パブリックサフィックス」リストです。

このリストには、さまざまなサブドメインがさまざまなサードパーティに発行されている管理者に知られているドメインが含まれています。

その主な用途は、クロスドメインセキュリティポリシーの実施を支援することです。たとえば、「foo.co.uk」のサーバーは、「co.uk」にドメインCookieを設定して、他のサブドメインに提供することはできません。

于 2012-07-01T11:14:04.420 に答える
0

すべてのサブ TLD を記述した公開ファイルが次の場所にあります。

http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1

于 2012-06-29T11:07:08.647 に答える