Extraire un fichier robots.txt et comparer le résultat

WRInaute occasionnel
Hello,

Je cherche a extraire des informations du fichier robots.txt s'il existe..

plus précisément, j'aimerais savoir si cette ligne "Disallow: /" est présente sur robots.txt des urls qu'on me soumet..

si tel est le cas, retourne un message d'alerte indiquant par exemple " Attention la page demandée n'est pas accessible"

Niveau code, je reste bloquée à l'affichage dudit document. Je ne sais pas comment extraire la ligne concernée s'il est existe et la comparer pour afficher ou pas un message d'alerte

Code:
<?php 


$lines = file('http://www.monsite.com/robots.txt');

// Affiche toutes les lignes du tableau 
foreach ($lines as $line_num => $line) {
    echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}
?>


Si vous avez une idée c'est volontiers
COrdialement
Yule
 
WRInaute accro
PHP:
<span class="syntaxdefault"><br /></span><span class="syntaxkeyword"><?</span><span class="syntaxdefault">php<br />$search </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'Disallow: /'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$contents </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> file_get_contents</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'http://www.example.com/robots.txt'</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">$lines </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> explode</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"\n"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $contents</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">foreach </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$lines as $line </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> $content</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$content</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> $search</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        echo sprintf</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'%s found at line %d'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $search</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $line</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br />}<br /></span><span class="syntaxdefault"> </span>

NB: XSS sur ton site: -http://www.kolaoo.com/q.php?search=%22%3E%3Cstyle%3Ebody{background-color:pink}%3C/style%3E
 
WRInaute occasionnel
Ok extra merci.

Pour la faille ci-dessus... le site va fermer prochainement... je fais un autre moteur de recherche (0kil.com, rien n'est fini j'essaye de le mettre en place). je reste un amateur qui test des choses pour le plaisir et surtout selon mes maigres connaissances.

Par contre pour cette erreur, j'ai déjà eu des messages qui m'informe des possibilités de failles mais j'ai jamais réussi a faire face...

Perso j'ai essayé de mettre ceci dans la recherche et tout ce passe bien

Code:
<script > alert (Hack) </script >

POur ce qui est de ton test je sais pas comment y faire face...

il semblerait que cela soit insufissant ?

Code:
$keywords = isset($_GET['s']) ? $_GET['s'] : '';

 $parsed_keywords = htmlspecialchars(chop($keywords));


A+
Yule
 
WRInaute impliqué
-http://www.kolaoo.com/q.php?search=%22%3E%3Cscript+%3E+alert+%28%27Hack%27%29+%3C%2Fscript+%3E&submit=GO+!!!
il ne faut pas toujours utiliser htmlspecialchars, seulement quand tu affiches la recherche dans la page html (en valeur de la input de recherche par exemple), mais pas pour faire la recherche sql.
 
WRInaute occasionnel
Mais finalement faut faire quoi ?

Quel est la véritable parade pour éviter ça, quoique je fasse c'est pas correct ou insuffisant 8O

Il faut bien nettoyer avant d'afficher les résultats, par contre si on place directement dans l'adresse ce code, C'est carton plein..

<style>body{background-color:pink}</style>

q.php?search="><style>body{background-color:pink}</style>


Ayaaa caramba
 
Discussions similaires
Haut