envoi de fichiers sécurisés

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : envoi de fichiers sécurisés

par Ryle » 13 mars 2009, 18:47

fgets n'évalue ni n'exécute la ligne qu'il retourne (fort heureusement). Il se contente simplement de lire une ligne du fichier et de la retourner....

A mon avis ton problème est simplement lié à la façon dont tu contrôle le contenu retourné par fgets. En effet, si tu utilises simplement un echo pour afficher le résultat dans ton navigateur, tu auras bien le code source de la page "deuxiemeligne<?php echo "hacked"; ?> ", mais à l'écran le navigateur n'affichera que "deuxiemeligne", le reste de la chaine étant considéré comme une balise html qui n'est donc pas affichée ;)

par djblagues » 13 mars 2009, 17:24

Logiquement il n'interprète pas, il suffit de ne pas mettre l'url complet du fichier, juste l'emplacement sur le serveur, et normalement sa devrait aller!

envoi de fichiers sécurisés

par peuTimporte » 13 mars 2009, 17:14

Bonjour,
Afin de sécuriser l'upload de fichiers vers mon serveur j'essaye de m'assurer qu'il n'y ait pas de code PHP dans le fichier en question en lisant chaque ligne du fichier uploadé avec fgets() et en recherchant la chaine <?php avec stristr(). Le probleme est que fgets evalue la ligne: <?php n'est donc pas retourné et échappe à ma vérification avec stristr().

Le fichier à le contenu suivant:
premiereligne
deuxiemeligne<?php echo "hacked"; ?>

Ce que je recupère avec fgets est:
premiereligne
deuxiemeligne

Existe-t-il une fonction quit lit un fichier sans interpréter la ligne?

merci
peuTimporte