dns_get_record() does not support a request to a specific NS server to determine the NS records of a domain.
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- php
- Bereich
- networking
Rechercherichtung
Beginnen Sie mit der Untersuchung des Verhaltens von PHPs dns_get_record() und der entsprechenden dig NS @server domain-Abfrage des Issues. Ermitteln Sie, wie ein Aufrufer einen bestimmten autoritativen Server auswählen könnte, und berücksichtigen Sie die bestehende DNS-Record-API, bevor Sie die Schnittstelle definieren. Als erledigt gilt, dass PHP die NS-Records der Domain direkt von einem angegebenen Server abrufen kann, ohne exec('dig ...') aufzurufen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
The task is to determine. that my client, which is the owner of the domain, has specified the correct NS records with the registrar, and I can accept it for service on my dns server.
Many people mistakenly think that it is enough to check the NS-record of the domain, but it is not so!
To make things worse, almost all DNS-servers, after accepting a domain for service, create the same NS-records, so that the client could register subdomains (www, mail, etc.). But this NS record only affects subdomains or child domains, not the domain itself.
For example, I will take the domain umi.ru (it is very difficult to find a domain where these records are different).
dig +short NS umi.ru or var_export(dns_get_record('umi.ru', DNS_NS));
ns1.umi.ru.
ns2.umi.ru.
ns3.umi.ru.
ns4.umi.ru.
These NS records are specified by the DNS server, not the domain registrar, and affect subdomains, but not the domain itself.
To get the exact NS records that are specified at the domain registrar. and that respond directly to the domain, that is, to which DNS-server to apply when a request comes to this domain, you need to do the following.
1 Define the parent zone (domain level above) for umi.ru parent zone ru.
2 Get the list of NS-servers of the parent zone.
dig +short NS ru or var_export(dns_get_record('ru', DNS_NS));
a.dns.ripn.net.
b.dns.ripn.net.
d.dns.ripn.net.
e.dns.ripn.net.
f.dns.ripn.net.
3 Get the NS record from exactly one of these servers (authoritative servers).
dig NS @a.dns.ripn.net umi.ru or ... but there is no such function in php and you can't make this request through dns_get_record(). :-(
.......................................................................................
UMI.RU. 345600 IN NS ns1.umi.RU.
UMI.RU. 345600 IN NS ns2.umi.RU.
UMI.RU. 345600 IN NS ns3.umi.RU.
.......................................................................................
Registry and order does not matter, but these 3 NS records prescribed, rather than 4 as above, the registrar of the domain and it is them that I need to get and check to be sure that I can bind this domain to my dns-server.
Most have the same, but it is not always the case and need to get the latter.
I need to be able to get them in php without calling exec('dig NS @a.dns.ripn.net umi.ru', $out, $exit); var_export($out);.
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.2k
- Ø Merge
- 2 T. 15 Std.
- Gemergte PRs (30 T.)
- 103
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus php/php-src
-
Bug SAPI: cli_server Status: Verified
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
-
Bug Status: Needs Triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
Bug Status: Needs Triage
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
Bug Status: Needs Triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
Flaky hrtime.phpt test OffenBug Category: Tests Status: Verified
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
zephyrproject-rtos/zephyr#119726 ·
-
[Bounty proposal] fix(web): memory insights count an evening memory on the next day ($25 proposed) Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
BasedHardware/omi#15320 ·
-
[adam] AdamNet network read doesn't cap to MAX_ADAM_PACKET_LEN, overflows client receive buffers Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
FujiNetWIFI/fujinet-firmware#1649 · 2 Kommentare ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
HarbourMasters/Shipwright#7229 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
riscv-software-src/riscv-isa-sim#2435 · 1 Kommentar ·