validare url

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
una domanda
con filter_var($url, FILTER_VALIDATE_URL) valido l'url proveniente da un form
e sin qui non ci sono problemi.
però filter_var mi valida solo la correttezza formale della stringa
è possibile con php verificare anche l'esistenza del sito corrispondente?
vorrei fare (se possibile), scrivo in php + pseudo codice)
PHP:
<?php
$url=$_POST['url'];
if(!filter_var($ur_2,FILTER_VALIDATE_URL)){//verifica della corretetzza formale
	//messaggio di errore e ritorno al form
}
if(!ESISTE $url){// qui in psedudo codice
	//messaggio di errore e ritorno al form
}
//.....
?>
si riesce o chiedo l'impossibile
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
se a qualcuno interssa googlando ho trovato questo, che (devo provarlo) sembra funziare.
@ alex: ora do un occhio anche al tuo link
PHP:
<?php
function contolla_url($url){
    $url = @parse_url($url);
    $url = array_map('trim', $url);
    $url['port'] = (!isset($url['port'])) ? 80 : (int)$url['port'];
    $path = (isset($url['path'])) ? $url['path'] : '';
    if ($path == ''){
        $path = '/';
    }
    $path .= (isset($url['query'])) ? "?$url[query]" : '';
    if (isset($url['host']) AND $url['host'] != gethostbyname($url['host'])){
           $fp = fsockopen($url['host'], $url['port'], $errno, $errstr, 30);
            if (!$fp){
                return false;
            }
            fputs($fp, "HEAD $path HTTP/1.1\r\nHost: $url[host]\r\n\r\n");
            $headers = fread($fp, 4096);
            fclose($fp);
        $headers = (is_array($headers)) ? implode("\n", $headers) : $headers;
        return (bool)preg_match('#^HTTP/.*\s+[(200|301|302)]+\s#i', $headers);
    }
    return false;
}
?>
quindi il mio controllo dopo la verifica formale potrebbe essere

PHP:
<?php
if (contolla_url($url)){
        //messaggio e ritorno al form
}
?>
trovato su
http://www.sastgroup.com/tutorials/verificare-se-un-url-esiste-online

p.s.
se qualcuno ha delle migliorie postate, postate gente...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
non avevo notato la domanda
Sei sicuro che ne valga la pena?
generalmente no, ma se dovessi andare a far inserire un link da un mio utente (in una tabella del db) e tale link va ad incidere sulla struttura del mio sito forse penso di sì
faccio un esempio banale
l'utente inserisce http :// www.pnico-pallo.it/pag.htm e se nel mio sito (estraendo dalla tabella) avessi

HTML:
<!-- ..... -->	
<iframe name="news"
	   		src="<?php echo $url;?>"
	   		width="732px"
	   		height="418px"
	   		scrolling="auto"
	   		frameborder="0"
	   		align="top"
	   		marginwidth="0"
	   		marginheight="0"
	   		allowtransparency="true">
</iframe>
<!-- ..... -->
nell i frame avrei il classico errore di pagina non trovata che non è molto bello
 
Discussioni simili
Autore Titolo Forum Risposte Data
MarcoGrazia [PHP] [regex] Validare un url PHP 2
M Come validare textarea con jquery jQuery 0
MarcoGrazia jquery validate, necessità di validare almeno un elemento select su due jQuery 1
D [Javascript] Validare dati in un form prima di spedirlo Javascript 1
O [HTML] Validare Form CMS (Content Management System) 3
napuleone [Javascript] validare lo spazio con js Javascript 7
F [PHP] Validare form prenotazione appuntamento tattoo con upload image PHP 0
M Validare alcuni campi di un form PHP 6
MarcoGrazia [regex] validare un textbox con solo caratteri alfabetici. Javascript 6
borgo italia validare un indirizzo email Snippet PHP 0
M Domande su validare i dati inseriti dagli utenti con jQuery e PHP Javascript 1
Shyson Validare mail in varie parti Javascript 2
Athene Validare un indirizzo email PHP 2
W Validare Form PHP 1
WpStyle validare attributo "value" HTML e CSS 7
C aiuto per validare form Javascript 3
jan267 Validare un form Javascript 2
S validare select da iframe a altri iframe Javascript 0
G Come validare in w3c il carrello di paypal? E-Commerce 14
M Validare Codice con W3C Xhtml 1.0 Strict HTML e CSS 8
B Validare Forms Javascript 0
G Validare e-mail Posta Elettronica 2
F validare una stringa... PHP 1
E non riesco a validare la pagina HTML e CSS 1
M Validare un input text di una form Classic ASP 15
Shyson Rimuovere tag dall'url WordPress 6
L redirect url PHP 0
A Funzione read URL PHP 6
P Rimozione automatica url da sitemap.xml con PHP PHP 1
L upload image tramite url e cache PHP 10
Alex_70 Stringa che diventa un url PHP 6
E Creazione URL per chat whatsapp WordPress 1
psicomia Server e url per invio di file Server Dedicati e VPS 3
J estrarre url dei file video da youtube "get_video_info" PHP 6
M URL JSON Sviluppo app per Android 1
L [PHP] cambiare gli if in un url semplice PHP 1
I [PHP] generazione url "uguale" che punta a due immagini diverse PHP 0
L [WordPress] Ridefinire l'url WordPress 2
L [PHP] Riscrivere url PHP 0
maxnegri Eliminare url index.php con variabili e reindirizzare alla home del sito PHP 7
A [Java] caricare un url esterno senza utilizzo di iframe Java 0
Domenico_Falco1 Cambiare url in un sito con pagine dinamiche Ajax 4
D [Apache] Riscrittura dell'url Apache 0
L [PHP] convertire gli url ad forma semplice PHP 3
felino [Htaccess] Redirect per url non esistente Apache 1
C [WordPress] Url vulnerability e problemi sito da mobile WordPress 0
S [WordPress] Recuperare l'url immagini in evidenza WordPress 0
A [PHP] Inserimento url dinamici in pagina html PHP 3
E assegnare a una variabile il contenuto di un url (javascript) Javascript 0
felino Difficolta' ad indicizzare i nuovi URL SEO e Posizionamento 10

Discussioni simili