disign | PHP: estrarre indirizzi email da un sito | a digital sign for a best design!
A digital sign for a best design

Articolo stampato da http://disign.improntedigitali.it/php-estrarre-indirizzi-email-da-un-sito-467-2-1.html

© Luca Frassineti

Programmazione 5.696 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('https://' . $_POST[url]));
echo "
‹a href="emails.php"›esamina altro url‹/a›

 

";
}
else

echo '

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

Url da esaminare


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


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


‹/form›';

 

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 


Questo sito è totalmente privo di pubblicità, se volete sostenere questa inziativa, potete scegliere di fare una piccola donazione libera:


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