Ik heb wat code gemaakt om mbv chkdnsrr te testen of een URL legaal is.

Echter een domeinnaam heeft soms ook directories, maar chkdnsrr geeft deze bij mij aan als FALSE.

code:



  <?php
        if ($_SERVER['REQUEST_METHOD'] == 'GET') 	{ 
if (isset($_GET['webadres'])){ 
    var_dump($_GET['webadres']);

echo $_GET['webadres'];

echo "<br><br>";
$recordexists2 = checkdnsrr($_GET['webadres'], "A");
if ($recordexists2) {
    echo $_GET['webadres'] . "<br><br>is een bestaand webadres <br>";}
    else
    {echo $_GET['webadres'] . "<br><br>typ ajb een geldig webadres in ... <br>";
    }

}
        }


    ?>



Dus www.phphulp.nl wordt zo als true weergegeven.

Echter www.phphulp.nl/forum/newtopic/3/ niet.

Welke oplossingen kennen jullie om de laatste toch als TRUE te laten doorgaan?
Ward van der Put op 23/10/2015 13:33:23

Je kunt het in twee stukken knippen:

1. Controleer eerst met filter_var() en het validatiefilter FILTER_VALIDATE_URL of de string de geldige syntaxis van een URL heeft.

2. Zo ja, open dan met get_headers() of cURL een verbinding naar die URL.

Het openen van een verbinding is prijzig (in termen van tijd en resources), dus daaraan wil je pas beginnen als de input in elk geval lijkt op een URL.


Ik heb met chkdnsrr op deze wijze een script gemaakt.

het probleem van deze methode is dat je altijd met de input domein.tld moet werken. Een gewone url geeft namelijk FALSE.

Ja, laat die code eens zien..

Reageren