GET eingabe auf URL überprüfen

Code:
/^(?:(?:(?:[a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])\.)*(?:[a-z]|[a-z][a-z0-9-]*[a-z0-9])|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)$/
 
PHP:
$host = $_GET['host'];

if( isset($host) ) {
    $host = strtolower($host);
    if( !preg_match('/^(?:(?:(?:[a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])\.)*(?:[a-z]|[a-z][a-z0-9-]*[a-z0-9])|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)$/', $host) ) {
        die ('invalid format');
    }
}  

if (!empty($host))	{

echo '<b>Ping to address '.htmlspecialchars($host).'</b>...<br /><br />';
$cmd = 'ping -c 4 ' . escapeshellcmd($host);
$return = array();
exec($cmd, $return);
echo implode('<br/>', $return);

					}


So ist das gut und sicher oder?
 
Zurück