Xhack

Un forum dedicato all'hacking
 
IndiceIndice  PortalePortale  CalendarioCalendario  FAQFAQ  CercaCerca  RegistratiRegistrati  Lista UtentiLista Utenti  GruppiGruppi  Accedi  

Condividi | 
 

 [PHP] Spider per motori di ricerca

Andare in basso 
AutoreMessaggio
BlackLight
Moderatore
Moderatore
avatar

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

MessaggioTitolo: [PHP] Spider per motori di ricerca   Mer Ago 22, 2007 7: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>";
        }
}
?>
Torna in alto Andare in basso
Visualizza il profilo http://blacklight.gotdns.org
Ospite
Ospite



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

non male Laughing ......
Torna in alto Andare in basso
darkjoker
Admin
Admin
avatar

Numero di messaggi : 813
Data d'iscrizione : 30.07.07

MessaggioTitolo: Re: [PHP] Spider per motori di ricerca   Gio Ago 23, 2007 7: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

Torna in alto Andare in basso
Visualizza il profilo
Contenuto sponsorizzato




MessaggioTitolo: Re: [PHP] Spider per motori di ricerca   

Torna in alto Andare in basso
 
[PHP] Spider per motori di ricerca
Torna in alto 
Pagina 1 di 1
 Argomenti simili
-
» Effettuare una ricerca automatica su Google - lmgtfy
» Wiki Info Giochi: combatti e dai giustizia con The Amazing Spider-Man
» La storia delle Torri Gemelle
» Cosa vuol dire risorgimento?
» Storia dei carri armati

Permessi di questa sezione del forum:Non puoi rispondere agli argomenti in questo forum
Xhack :: Programmazione :: HTML/PHP/Javascript-
Vai verso: