Auteur Sujet: "url" ; Lien : Halte Police !  (Lu 2256 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne assobachant

  • Débutant
  • *
  • Messages: 28
    • http://www.bachant.net
"url" ; Lien : Halte Police !
« le: 01 décembre 2003 à 19:28:19 »
Voila, mon site posséde un annuaire. ;)

malheuresement, je suis dans l'incapacité de contrôler que les liens fonctionnent,

 :lol: je suis sous SPIP V1.7.

comment faire ou quel astuce utilisé.
" il vaut mieux réussir sa vie plûtot que de vivre sa réussite "

                                                       stéphane

le site associatif de la commune

Hors ligne scull

  • Habitué
  • **
  • Messages: 166
    • http://www.free-bb.com
"url" ; Lien : Halte Police !
« Réponse #1 le: 01 décembre 2003 à 21:25:41 »
euh...
je peu te dire que en php il existe un truc qui vérife tes liens, sa existe (phpmyannu l'a)
amsi je te laisse le trouver....
sinon ta des logiciel exprés je crois ;)
"Je ne suis pas guidé par la haine
Je ne suis pas guidé par la peur
Je ne suis pas guidé par le désir
Le devoir ou quoi que ce soit de rationnel
Je ne les comprend plus depuis longtemps
Tout ce qui me reste c'est la vengeance FROIDE DURE et FINALE..."

Hors ligne epoc

  • Habitué
  • **
  • Messages: 105
    • http://www.blognote.be
"url" ; Lien : Halte Police !
« Réponse #2 le: 01 décembre 2003 à 22:38:41 »
tu peux vérifier la validité d'un domaine avec la fonction checkdnsrr(). Pour ce qui est d'une page aucune idée.

Hors ligne assobachant

  • Débutant
  • *
  • Messages: 28
    • http://www.bachant.net
"url" ; Lien : Halte Police !
« Réponse #3 le: 03 décembre 2003 à 11:01:38 »
j'ai trouvé cela quelque part !

peux t'il etre utilisé tel quel, ou faut t'il le modifier. la votre avis est important.

 :( a priori installé tel quel sous SPIP V1.7. CELA NE FONCTIONNE PAS.

pour la version 1.6, aucun probléme


Je pense que je vais redescendre de version !

<?php

//code Matthieu ONFRAY
//test de sites publié sous licence GPL
include ("inc.php3");
debut_page("Tests des sites");

echo "<br><br><br>";
gros_titre("Tests des sites");
debut_gauche();

debut_boite_info();


function CreerLiens($admin_lien, $nba, $nbr_sites)
{
        global $debut;
echo "<br><center>";
        if ($nbr_sites >= ($nba+1))
        {
         //liens vers pages precedentes/suivantes
         if ($debut-$nba >= 0 )
         {
         echo " <a href='$admin_lien". 0 . "'>&lt;&lt;</a>\n ";
         echo " <a href='$admin_lien". ($debut-$nba) . "'>&lt;</a> ";
         }

         $p = 1;
         for ($i=0; $i < $nbr_sites; $i+=$nba)
         {
                 if (($debut/$nba) == ($p-1)) echo " <b>$p</b> ";
                 else echo " <a href='$admin_lien$i'>$p</a>\n ";
                 $p++;
         }

         if ($debut+$nba < $nbr_sites)
         {
                 echo " <a  href='$admin_lien" . ($debut+$nba) . "'>&gt;</a> ";
                 $pos = ($nbr_sites - ($nbr_sites % $nba));
                 if (($nbr_sites % $nba) == 0) $pos = $pos - $nba;
                 echo " <a HREF='$admin_lien$pos'>&gt;&gt;</a>\n ";
         }

        echo "\n<br><br></center>";
        }
}



//code des 2 fonctions seek_redirect_location & check_connect appartiennent à phpmyannu
//publiées sous licence GPL, accessible à l'adresse http://www.creation-de-site.net
//modifié pour SPIP

function check_connect($url)
//verifie la validite de l'adresse, c'est a dire on regarde si le site existe bien...
//on rend dans un tableau :
// "statut" : 0 si KO, 1 si redirect ou bien pour faire passer en local, 2 si OK
// "code" : code HTTP
// "message" : message
{
$url_parsee = @parse_url($url);
$host = trim($url_parsee["host"]);
$path = trim($url_parsee["path"]);
$connect = 0;
$no_code = 0;
//connexion par socket
if ($fp = @fsockopen($host,80))
{
  //traitement du path
  if(substr($path,strlen($path)-1) != '/')
  {
   if(!ereg("\.",$path)) $path .= "/";
  }
  //envoi de la requete HTTP
  fputs($fp,"GET ".$path." HTTP/1.1\r\n");
  fputs($fp,"Host: ".$host."\r\n");
  fputs($fp,"Connection: close\r\n\r\n");
  //on lit le fichier
  $line = fread($fp,255);
  $en_tete = $line;
  //on lit tant qu'on n'est pas la fin du fichier ou qu'on trouve le debut du code html...
  while (!feof($fp) && !ereg("<",$line) )
  {
   $en_tete .= $line;
   $line = fread($fp,255);
  }
  fclose($fp);
  //on switch sur le code HTTP renvoye
  $no_code = substr($en_tete,9,3);
  switch ($no_code)
  {
   // 2** la page a été trouvée
   case 200 :  
      $message = "OK";
      $color = "#33cc00";
      $connect = 2;
      break;
   case 204 :
      $message = "Cette page ne contient rien !";
      $color = "#ff9966";
      break;
   case 206 :
      $message = "Contenu partiel de la page !";
      $color = "#ff9966";
      break;
   // 3** il y a une redirection
   case 301 :
      $message = "La page a été déplacée définitivement";
      $message .= seek_redirect_location($en_tete);
      $color = "#ff9966";
      $connect = 1;
      break;
   case 302 :
      $message = "La page a été déplacée momentanément";
      $message .= seek_redirect_location($en_tete);
      $color = "#ff9966";
      $connect = 1;
      break;
   // 4** erreur du coté du client
   case 400 :
      $message = "Erreur dans la requête HTTP !";
      $color = "#ff0000";
      break;
   case 401 :
      $message = "Authentification requise !";
      $color = "#ff0000";
      break;
   case 402 :
      $message = "L'accès à la page est payant !";
      $color = "#ff0000";
      break;
   case 403 :
      $message = "Accès à la page refusé !";
      $color = "#ff0000";
      break;
   case 404 :
      $message = "Page inexistante !";
      $color = "#ff0000";
      break;
   // 5** erreur du coté du serveur
   case 500 :
      $message = "Erreur interne au serveur !";
      $color = "#ff0000";
      $connect = 1;
      break;
   case 502 :
      $message = "Erreur à cause de la passerelle du serveur !";
      $color = "#ff0000";
      break;
   // cas restant
   default :
      $message = "Erreur non traitée dont le numéro est : $no_code!";
      $color = "#000000";
      break;
  }
}
else
{
  $message = "Impossible de se connecter";
  $color = "#ff0000";
}
//creation du tableau avec les valeurs a rendre
$data_return["statut"] = $connect; //la page est OK ou KO (200 => OK sinon KO)
$data_return["code"] = $no_code; //code HTTP renvoye
$data_return["message"] = "<font color=\"".$color."\">".$message."</font>\n"; //message a afficher
return $data_return;
}

function seek_redirect_location($header)
//recherche la location de la redirection si l'erreur HTTP renvoyee commence par 3
{
$location = "";
$tab_header = explode("\n",$header);
for ($i=0;$tab_header[$i];$i++)
{
  $line = split(":",$tab_header[$i],2);
  if(eregi("location",$line[0]))
  {
   $location = trim($line[1]);
   break;
  }
}
if ($location) return " <a target=_blank class=spip_out href=\"$location\">ici</a>";
}

echo "<FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2>";
echo "<P align=left>".propre("Cette page permet de {{tester les sites}} référencés dans SPIP. Le script n'effectue aucune modification : {{à vous de faire selon votre bon désir}}. Auteur : <a href=\"mailto:silicium@japanim.net\">silicium@japanim.net</a>, webmaster de <a href=\"http://www.japanim.net\">Japanim.net</a>.");

echo "</FONT>";

fin_boite_info();

debut_droite();
  
echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>";
 
if ($connect_statut == "0minirezo")
{
//nbre sites par page
$nba = 20;
//nbre de sites référencés
$res2 = spip_query("SELECT COUNT(id_syndic) FROM spip_syndic");
$resultat2 = spip_fetch_row($res2);
$nbr_entrees = $resultat2[0];
if (empty($debut)) $debut = 0;
//construction de la requête
$req = "SELECT * FROM spip_syndic";

//utilisé dans une v2 du script...
if (! empty($id_rubrique)) $req .= " WHERE id_rubrique=$id_rubrique";

$req .= " ORDER BY id_syndic LIMIT $debut, $nba";
$res = spip_query($req);

while($resultat = spip_fetch_array($res))
{
  echo "- <a href=sites.php3?id_syndic=" . $resultat["id_syndic"] . "&redirect=naviguer.php3%3Fcoll=";
  echo $resultat["id_rubrique"] . ">" . $resultat["nom_site"] . "</a>";
  $tab_return = check_connect($resultat["url_site"]);
  echo " : " . $tab_return["message"] . "<br>";
}
CreerLiens("test_sites.php3?debut=", $nba, $nbr_entrees);
}

else echo "<B>Vous n'avez pas acc&egrave;s &agrave; cette page.</B>";

echo "</FONT>";

fin_page();
?>
" il vaut mieux réussir sa vie plûtot que de vivre sa réussite "

                                                       stéphane

le site associatif de la commune

Hors ligne PChaffard

  • Débutant
  • *
  • Messages: 34
    • http://www.apneaweb.com
"url" ; Lien : Halte Police !
« Réponse #4 le: 09 décembre 2003 à 11:36:11 »
Sous phpmy annu c'est la fonction  fsockopen().
Pierre Chaffard - pchaffard[at]apneaweb[dot]com
Login: pchaffard
Serveur: #2
Domaines: apneaweb.com & apnee.net

Hors ligne boulaneige

  • Connaisseur
  • ***
  • Messages: 337
    • http://www.boulaneige.com/
"url" ; Lien : Halte Police !
« Réponse #5 le: 09 décembre 2003 à 19:48:38 »
Salut,

J'ignore si cela répond vraiment à ta demande, mais dans le doute : http://sebsauvage.net/logiciels/xenu.html
* Petite scarabette *