Régis Posté 4 Mai 2006 Posté 4 Mai 2006 Bonjour, Lors d'inscription dans des annuaires, il est, parfois, demandé de mettre en place un lien en retour et d'en préciser la page. Dans ce cas, il est souvent écrit, quelque chose du genre : "un robot passera régulièrement pour vérifier l'existence du lien en retour". J'aimerai connaître comment ce système de contrôle est mis en place, construit, programmé... sur le principe, car je ne connais rien au langage de développement. Peut-être existe-t-il des scripts ? des articles / tutoriels ?
captain_torche Posté 4 Mai 2006 Posté 4 Mai 2006 Le moyen le plus simple, serait de capter tout le code HTML de la page, et de vérifier l'existence, à l'intérieur de celui-ci, de l'url de l'annuaire. Ensuite, je ne saurai te dire si c'est cette méthode qui est utilisée.
dièse Posté 4 Mai 2006 Posté 4 Mai 2006 (modifié) Un bout de code, certainement pas ce qu'll doit y avoir de plus léger, mais qui doit marcher : <?phpif(($fd = fopen($sonurl, "r"))===FALSE) echo "BAD URL";else {while (!feof ($fd)) { $buffer = fgets($fd, 4096); if(strpos($buffer, $tonlien)!==false) { echo "Lien en place"; exit(0); } echo "Lien non placé";}?> Modifié 4 Mai 2006 par dièse
captain_torche Posté 4 Mai 2006 Posté 4 Mai 2006 Sauf qu'en lisant ton code, si ton buffer actuel est à cheval sur l'url, il ne te ressortira jamais le 'lien en place'. Ou me trompé-je ?
dièse Posté 4 Mai 2006 Posté 4 Mai 2006 (modifié) buffer = fgets($fd, 800000000000000000); Dans ce cas, ce site a un code html suspect, il ne faut mieux pas valider son inscription Edit : je viens de regarder la doc php, et depuis PHP 4.3, lorsqu'on ne spécifie plus à fgets le nombre d'octets, la lecture s'arrête à la fin de la ligne Modifié 4 Mai 2006 par dièse
Anonymus Posté 5 Mai 2006 Posté 5 Mai 2006 buffer = fgets($fd, 800000000000000000); Et si le code fait 800000000000000001 ?? Non, il faut initialiser une variable au début $buffer=""; et l'incrémenter ensuite. $buffer .= fgets($fd, 4096); Si l'url se trouve sur 2 lignes distinctes, et bien... je serais partisant de dire qu'elle n'est pas sur la page, mais tu peux aussi vouloir enlever les caractères spéciaux et donc considérer qu'elle (l'url) est dans la page
dièse Posté 5 Mai 2006 Posté 5 Mai 2006 (modifié) Je plaisantais avec mon 8000000000000, je pense qu'une ligne de code HTML de 4096 octets ça n'est pas très courant, 1024 devrait être largement suffisant. Pour le cas où l'url est sur 2 lignes, on peut considérer abusivement que le lien n'est pas valide Modifié 5 Mai 2006 par dièse
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant