Xhack

Un forum dedicato all'hacking
 
IndiceIndice  PortalePortale  CalendarioCalendario  FAQFAQ  CercaCerca  RegistrareRegistrare  Lista utentiLista utenti  GruppiGruppi  Connessione  

Condividere | 
 

 [PHP] Spider per motori di ricerca

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso 
AutoreMessaggio
BlackLight
Moderatore
Moderatore


Numero di messaggi: 277
Età: 25
Data d'iscrizione: 22.08.07

MessaggioOggetto: [PHP] Spider per motori di ricerca   Mer Ago 22, 2007 5:30 pm

Eccovi il progetto di un mio spider in grado di riconoscere tutti i link in una pagina web (per ora mostra semplicemente il numero di link trovati su una pagina web, non ha ancora la funzionalità di indicizzazione in un database) fino a un livello di profondità arbitrario (in questo caso $steps=Cool. Lo spider trova tutti i link in una pagina web, li riporta in output e a sua volta segue ognuno dei link trovati alla ricerca di altri link.

get_links.php:

Codice:
<?
function get_links($content,$url)  {
        $found=array();
        $l=0;

        for ($i=0; $i<count($content); $i++)  {
                $line=split(" ",$content[$i]);

                for ($j=0; $j<count($line); $j++)  {
                        if (strstr($line[$j],"<a") && strstr($line[$j+1],"href="))  {
                                $link=split('"',$line[$j+1]);

                                if (!strstr($link[1],"http://"))  {
                                        $fields=split("/",$url);
                                        $root="http:/";

                                        for ($k=2; $k<count($fields)-1; $k++)
                                                $root=$root."/".$fields[$k];

                                        $link[1]=$root."/".$link[1];
                                }

                                $found[$l++]=$link[1];
                        }
                }
        }

        return $found;
}
?>


find_link.php:

Codice:
<?
include ('get_links.php');

$db_host='localhost';
$db_name='links';
$db_user='root';
$db_pass='blacklight';

if (($db=mysql_connect ($db_host,$db_user,$db_pass))==null)
        die ("<b>Unable to connect to database server $db_host</b>\n");

mysql_select_db ($db_name,$db) or die ("Unable to connect to database $db_name\n");

$STEPS=8;
$url=$_POST["url"];

for ($k=0; $k<$STEPS; $k++)  {
        print "<h1 align=center>Livello ".($k+1)."</h1>\n";

        if ($k>0)  {
                for ($i=0; $i<count($found[$k-1]); $i++)  {
                        $url=$found[$k-1][$i];
                        $fp=fopen($url,"r");

                        if ($fp==null)  {
                                print "<b>Error reading from $url</b>\n";
                                fclose($fp);
                        } else {
                                fclose($fp);
                                $found[$k]=get_links(file($url),$url);

                                print "<h2>Links found inside $url:</h2>\n";
                                print "<ul>\n";

                                for ($j=0; $j<count($found[$k]); $j++)  {
                                        $query =
                                                "insert into links(parent,link,num_links) ".
                                                "values('".$found[$k-1][$i]."','".$found[$k][$j]."',1)";
                                        mysql_query ($query) or print "Invalid query: $query\n";
                                        print '<li><a href="'.$found[$k][$j].'">'.$found[$k][$j]."</a></li>\n";
                                }

                                print "</ul>\n";
                        }
                }
        } else {
                $fp=fopen($url,"r");

                if ($fp==null)
                        die ("Error reading from $url\n");
                fclose($fp);

                $found[$k]=get_links(file($url),$url);

                print "<h2>Links found inside $url:</h2>\n";
                print "<ul>\n";

                for ($i=0; $i<count($found[$k]); $i++)  {
                        $query =
                                "insert into links(parent,link,num_links) ".
                                "values('$url','".$found[$k][$i]."',1)";
                        mysql_query ($query) or print "Invalid query: $query\n";
                        print '<li><a href="'.$found[$k][$i].'">'.$found[$k][$i]."</a></li>\n";
                }

                print "</ul>";
        }
}
?>
Tornare in alto Andare in basso
Vedere il profilo dell'utente http://blacklight.gotdns.org
Ospite
Ospite



MessaggioOggetto: Re: [PHP] Spider per motori di ricerca   Mer Ago 22, 2007 7:26 pm

non male Laughing ......
Tornare in alto Andare in basso
darkjoker
Admin
Admin


Numero di messaggi: 813
Data d'iscrizione: 30.07.07

MessaggioOggetto: Re: [PHP] Spider per motori di ricerca   Gio Ago 23, 2007 5:46 pm

molto, molto molto bene.
pero vai un po piano con sti tutorial che senno non riesco a fare i complimenti per ciascuno... Very Happy
bravissimo blacklight!!!

_________________
L'unico computer sicuro, è un computer spento.

Nel software esiste sempre almeno un bug, generalmente è localizzabile tra la tastiera e la sedia

Tornare in alto Andare in basso
Vedere il profilo dell'utente
 

[PHP] Spider per motori di ricerca

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto 
Pagina 1 su1

 Argomenti simili

-
» ricerca sulla francia
» Spider Pork
» BMW RINNOVA LA SERIE 1, NUOVI MOTORI E ALLESTIMENTI
» Giocatori combat arms
» La Rana di vetro (non adatto a deboli di stomaco)

Permesso del forum:Non puoi rispondere agli argomenti in questo forum
Xhack :: Programmazione :: HTML/PHP/Javascript-