disign.it | PHP: estrarre indirizzi email da un sito | a digital sign for a best design!
A digital sign for a best design
Programmazione 3.819 visualizzazioni

PHP: estrarre indirizzi email da un sito

04/06/2013

Una delle accortezze di una buona programmazione riguarda la necessità di non inserire mai indirizzi email in chiaro onde evitare che tali indirizzi vengano letti dai crawler appositamente progettati per costituire indirizzari attraverso la lettura dei contenuti web.

La realizzazione di un corretto sistema di occultamento degli indirizzi email è uno degli elementi che contraddistingue la professionalità di un lavoro (sempre che non vi sia esplicita richiesta del cliente, dopo esser stato messo a conoscenza dei rischi di esposizione di un indirizzo email, di pubblicazione a 'tutti i costi').

Ho realizzato un piccolo script php attraverso cui esaminare il codice sottostante la visualizzazione di una pagina utile a verificare, ed eventualmnete estrarre, la presenza di indirizzi email non visualizzati in pagina ma presenti nel codice.

 

Ecco lo script (da utilizzare esclusivamente nel rispetto delle norme sulla privacy):

 

function leggi_codice($sito) {
    $lines = file($sito);
    $string='';
    foreach ($lines as $line_num => $line) {
    $string  .= $line;
    }
    preg_match_all("/[\._a-zA-Z0-9-]+@[\._a-zA-Z0-9-]+/i", $string, $matches);
    return $matches[0];
}

function estrai_mail($var) {
    $emails = array_unique($var);
    sort($emails);
    if(empty($emails)) echo "nessuna email presente nel codice di $_POST[url]";
    else {
    foreach($emails as $email) {
    echo trim($email).'
';   
    }
    }
}

if (isset($_POST[url]) && $_POST[url] !='') {
estrai_mail(leggi_codice('http://' . $_POST[url]));
echo "
‹a href="emails.php"›esamina altro url‹/a›

 

";
}
else

echo '

‹form action="emails.php" method="post"›

Url da esaminare


http://‹input name="url" type="text" /›


‹input type="submit" value="esamina url" /›


‹/form›';

 

← PHP: calendario a partire dalla data corrente PHP: evidenziare automaticamente una stringa →

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 

© 2009 - 2017 Impronte digitali di Luca Frassineti. Tutti i diritti riservati.