Xhack
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
Xhack

Un forum dedicato all'hacking
 
IndiceIndice  PortalePortale  CercaCerca  Ultime immaginiUltime immagini  RegistratiRegistrati  Accedi  

 

 [PHP] Spider per motori di ricerca

Andare in basso 
2 partecipanti
AutoreMessaggio
BlackLight
Moderatore
Moderatore
BlackLight


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

[PHP] Spider per motori di ricerca Empty
MessaggioTitolo: [PHP] Spider per motori di ricerca   [PHP] Spider per motori di ricerca EmptyMer 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
http://blacklight.gotdns.org
Ospite
Ospite




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

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


Numero di messaggi : 813
Data d'iscrizione : 30.07.07

[PHP] Spider per motori di ricerca Empty
MessaggioTitolo: Re: [PHP] Spider per motori di ricerca   [PHP] Spider per motori di ricerca EmptyGio 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!!!
Torna in alto Andare in basso
Contenuto sponsorizzato





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

Torna in alto Andare in basso
 
[PHP] Spider per motori di ricerca
Torna in alto 
Pagina 1 di 1

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