Aller au contenu

Les moteurs triturent mes urls


MrPierre

Sujets conseillés

Bonjour à tous,

Je viens présenter un problème sans grande conséquence, mais il gène en ce sens que mes rapports d'erreurs sont encombrés d'erreurs idiotes de ce genre :

[21-Jan-2011 10:15:08] PHP Warning:  file_put_contents(../Caches/Cache_articles/Cache_article_Articles/function.file-put-contents.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 10:15:08] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_Fichiers_css/Style_articles.css.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166

Ou encore :

[21-Jan-2011 03:43:54] PHP Warning:  mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 219
[21-Jan-2011 08:49:18] PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 92

Toutes ces erreurs sont dues, pour la première série, à des "triturations" de mes urls, car les chemins spécifiés n'existent pas mais sont des compositions d'éléments de mes pages (des icones, des liens) ajoutés à une base d'url (l'url courantes, www.monsite.org/article-questmachine-supplements.php dans ces cas-ci).

Pour la seconde série le souci est de même nature : étant donné que les paramètres de l'url sont absurdes, les requêtes SQL basées sur les arguments de l'url retournent des erreurs.

Je soupçonne fortement MrGoogle, car il passe une fois tous les deux-trois jours et c'est justement tous les deux-trois jours que ces erreurs apparaissent dans mes rapports d'erreur.

Pour palier à cela, j'ai déjà bricoler une timide solution qui, je le croyais, aurait pu être efficace, mais non :


if($_SERVER['QUERY_STRING'] == '')
{
echo '<META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://www.index.org">';
exit;
}

Qu'en est-il donc ? Y a-t-il un moyen d'empêcher cela ? Ce n'est pas vraiment grave, mes comme je le disais plus haut, ça encombre mes rapports :mad2:

Merci d'éclairer ma lanterne !

Lien vers le commentaire
Partager sur d’autres sites

Google n'invente pas d'URL !

Si tu as ce genre d'erreur regarde plutôt du coté de ton url rewriting, de ton code, de la configuration de ton cache ou toute autre chose qui manipule réellement les URL dans ton site et qui permet à Google de trouver des URL génératrices d'erreurs.

++

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Normalement les moteurs de recherche n'inventent pas d'URL comme le dit Patrick, mais parfois des hackers en inventent pour voir ce que ça donne. Et comme tu dis toi-même que tes scripts ne prévoient pas tous les cas possibles et imaginables d'URL, je dirais qu'il peut exister un risque de sécurité à ce niveau.

La bonne pratique consiste à prévoir tous les cas possibles d'URL et de rediriger (redirection 301) les mauvaises URL vers de bonnes URL (ou éventuellement d'envoyer un code d'erreur 404). La redirection 301, c'est nettement mieux que la META "refresh". Selon moi, c'est la bonne pratique, mais je ne la suis pas toujours moi-même, parce que parfois c'est assez laborieux. ;)

Jean-Luc

Lien vers le commentaire
Partager sur d’autres sites

Si les moteurs ne peuvent "construire" des urls, c'est donc qu'ils suivent les chemins potentiels dans ma page.

Il faut donc que j'étudies l'ensemble des possibilités et que je prenne les mesures pour arranger tout ça.

Mais je me demande tout de même comment la page en question s'ouvre sans arguments. En effet, j'ai souvent l'impression que le robot teste les urls données, c'est-à-dire les urls avec des arguments dans mon cas (et notez bien qu'il y en a TOUJOURS) et puis qu'il fait un test sans les arguments, car j'ai souvent des erreurs avec l'url mapage.htm alors que je suis sûr qu'aucune autre page ne pointe vers mapage.htm sans arguments.

Lien vers le commentaire
Partager sur d’autres sites

Il y a tout de même des bots qui "inventent" des urls mais c'est vrai que Google ne le fait pas, Yahoo avait toutefois un truc casse-pieds pour détecter les rewritings qui ratissent trop large mais je ne sais pas s'il est toujours actif.

A côté de cela, il y a tout un tas de bots bizarres, c'est toujours difficile de savoir si c'est un bot qui part en figure libre, une tentative de hack, un testeur de retour sur les fausses urls... Leur passe-temps favori semble être de mélanger les répertoires et de tester des urls du style (fr/fr/fr/fr/fr/fr/nomdelapage.htm). Je ne sais pas trop quel est le but recherché...

Lien vers le commentaire
Partager sur d’autres sites

Dans tous les cas moi j'ai un répertoire d'erreurs assez énorme et varié. Pourtant je suis bien sûr que ce n'est pas lié à l'utilisation courante de mon site, car non seulement la communauté qui tourne autour me signalerait les bizarreries et mes revenus chuteraient (oui j'ai pu constater des baisses de 40% à chaque fois qu'une erreur se glissait pendant un certain laps de temps dans mes pages ^^).

Donc soit ya un taré qui bidouille mes urls, et ce chaque jour de la semaine, soit de drôles de bots passent par là.

Regardez encore le rapport d'aujourd'hui :

[21-Jan-2011 01:37:10] PHP Warning:  mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 92
[21-Jan-2011 01:37:10] PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 135
[21-Jan-2011 01:37:10] PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 219
[21-Jan-2011 01:55:34] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_Articles/Creer_un_article.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 01:58:29] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_Articles/function.file-put-contents.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 02:06:56] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_/Articles/article-questmachine.php?a=.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 10:03:25] PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 92
[21-Jan-2011 10:03:25] PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 135
[21-Jan-2011 10:03:25] PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 219
[21-Jan-2011 10:15:08] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_Articles/function.file-put-contents.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 10:15:08] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_Fichiers_css/Style_articles.css.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 10:15:08] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_Icones/boite-lettre.png.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 10:15:08] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_Icones/logoquestmachine344.png.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 11:51:39] PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 135
[21-Jan-2011 11:51:39] PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 219
[21-Jan-2011 12:28:02] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_/Articles/article-questmachine.php?a=http://213.246.61.125:2082/index.html?.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 12:28:03] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_/Articles/article-questmachine.php?a=http://213.246.61.125:2082/index.html?.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 12:36:24] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_/Articles/article-questmachine.php?a=http://213.246.61.125:2082/index.html?.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 12:37:43] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_/Articles/article-questmachine.php?a=http://213.246.61.125:2082/index.html?.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 12:37:43] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_/Articles/article-questmachine.php?a=http://213.246.61.125:2082/index.html?.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 19:20:36] PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 140
[21-Jan-2011 19:20:36] PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 224
[21-Jan-2011 19:33:28] PHP Warning: file_put_contents(../Caches/Cache_articles/Cache_article_Icones/favicon.ico.html) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166
[21-Jan-2011 21:03:13] PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 140
[21-Jan-2011 21:03:13] PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/questmac/public_html/Articles/article-questmachine-supplements.php on line 224

Je vous montre ça pour vous présenter la diversité des erreurs rencontrées, je supprimerai la majeure partie par après :)

Modifié par Arlette
Lien vers le commentaire
Partager sur d’autres sites

Recherche Creer_un_article.html dans Google et tu verras que ta page http://www.q____e.org/article/Articles/Creer_un_article est indexée et mise en cache par Google. Pourquoi, je n'en sais rien, mais le fait est qu'elle est là. Googlebot va donc la relire périodiquement pour indexer son nouveau contenu éventuel. Et cette page contient

Warning: file_put_contents(../Caches/Cache_articles/Cache_article_Articles/Creer_un_article.html) [function.file-put-contents]: failed to open stream: No such file or directory in /home/questmac/public_html/Articles/article-questmachine.php on line 166

Il n'y a qu'une solution: adapter ton script pour qu'il ne provoque plus d'erreur, même si l'URL n'est pas exactement comme tu l'attends.

Jean-Luc

Lien vers le commentaire
Partager sur d’autres sites

Ah oui je n'avais pas vu cela, et d'autres pages du genre sont indexées...

Tu as raison Jeanluc, je dois chercher à corriger cela dans mes codes (ça doit peut-être venir de l'url rewriting, je n'avais pas ça avant).

Merci à vous, à bientôt !

Lien vers le commentaire
Partager sur d’autres sites

Déjà on n'utilise pas file_put_contents sans avoir préalablement testé l'existence du fichier, ensuite mysql_fetch_array et mysql_num_rows c'est parce que ta requête est mal formatée, en gros tu ne vérifie pas avant le bon formatage des infos avant d'exécuter ta requête, genre vérifier que les variables ne contiennent pas de caractères exotiques tel que ' ou "

En faisant les simples vérifications de base dans ton code, ton rapport d'erreurs ne serait pas pollué

Lien vers le commentaire
Partager sur d’autres sites

Il y a vérification de l'existence du fichier avant le file_puts, c'est justement ça qui fait que le file_puts créé une erreur, car autrement le cache est lu.

Par contre je vois vraiment pas comment il atterri dans mon url, c'est donc bien une "trituration d'url", je suis désolé... Tout ça a une origine déterminable, je vais donc tenter de la déterminer.

Sinon tu as raison, je dois faire des vérification pour que les fonctions mysql s'exécutent uniquement si les variables qu'elles emploient sont bonnes :)

Lien vers le commentaire
Partager sur d’autres sites

Si la vérification était bien faite avant tu n'aurais pas : failed to open stream

Il suffit de mettre un " ou plusieurs / pour faire planter ton site : -http://www.questmachine.org/article// et -http://www.questmachine.org/article/"

Lien vers le commentaire
Partager sur d’autres sites

Oui en fait tout était question de vérification des éléments passés dans l'url.

A présent on a mis quelque chose en place pour éviter ces désagréments (une simple redirection en cas de non résultat d'une requête : on fait un mysql_num_rows et si il vaut 0 on redirige).

Enfin voilà, depuis 2 jours mes rapports d'erreurs sont déserts et c'est tant mieux ^^

Merci à tous, à bientôt.

Lien vers le commentaire
Partager sur d’autres sites

il va falloir revoir ton système de rapport d'erreurs, je me suis encore amusé hier à ajouter des " dans les urls de tes articles, et ce matin ça part toujours en erreur, tes rapports d'erreurs auraient du les avoirs.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...