Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/10/2007, 09h22   #1
Invité de passage
 
Inscription : février 2007
Messages : 20
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 20
Points : 4
Points : 4
Par défaut [Upload] Comment lire une image

Bonjour a vous.

Je me suis lancé dans la conception d'un script d'upload de photo.

J'ai chercher sur le net plusieurs moyen de faire la securité de mon site. notament avec la librairie d'image...

Mais ce matin en me réveillant j'ai eut une idée génial, Quand on ouvre une image avec le bloc note, il nous sort un texte absolument incompréhensible.
Et moi, depuis mon script php je voudrais ouvrir mon image en temps que texte

et lancé une recherche sur ce résultat.

je m'explique, grace à mon script je vais ouvrir mon image en texte le résultat sera contenue dans $contenu_image.

Et ensuite je lance une recherche sur $contenu_image si elle contient une chaine de caractère tel que : <html> ou <?php ou ?> ou <? etc... je suprime l'image car elle sera considéré comme dangereuse.


Comment faire ?

Cordialement
TheOrY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2007, 09h30   #2
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
salut,
je pense que tu peux l'ouvrir comme un fichier texte avec les fontions fopen ou file_get_contents
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2007, 10h11   #3
Invité de passage
 
Inscription : février 2007
Messages : 20
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 20
Points : 4
Points : 4
j'ai essayer ça :

Code :
1
2
3
4
$contenu_image = file_get_contents('photo/$chaine"."$extension');
 
preg_match('#<?php(.+) ?>#isU',$contenu_image,$sortie);
echo $sortie ;
mais le script ne me trouve rien
TheOrY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2007, 11h12   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Code :
$contenu_image = file_get_contents('photo/$chaine"."$extension');
Il n'y a pas des (double) quotes de trop là ?

Sinon quel intérêt à faire cette vérification précise : aucun ! Le serveur est configuré pour interprété des fichiers précis sur, généralement, la base de leur extension. Le serveur ne cherche pas à tout interpréter par rapport à la présence de balises PHP (imaginez les performances). En réalité c'est l'inverse, c'est l'extension de votre fichier qui le fera passer par l'interpréteur PHP, et ce, qu'il ait des balises PHP ou non.

Mais ça dépendra de la configuration de votre serveur ...
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2007, 11h19   #5
Invité de passage
 
Inscription : février 2007
Messages : 20
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 20
Points : 4
Points : 4
Peut-être mais je me suis déjà fait piratez, donc maintenant je préfère être très vigilants ....

Code :
1
2
3
4
$contenu_image = file_get_contents('photo/$fname');
 
preg_match('#<?php(.+) ?>#isU',$contenu_image,$sortie);
echo $sortie ;
ça marche toujours pas

edit : j'ai essayer de faire un echo sur $contenu_image ça marche pas, même en utilisant fopen();
TheOrY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2007, 11h37   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par TheOrY
Peut-être mais je me suis déjà fait piratez, donc maintenant je préfère être très vigilants ....
Ce n'est pas de ce côté qu'il faut chercher à "sécuriser". Etait-ce à cause de fichiers images au moins ? (seule une inclusion exécuterait ce code PHP ou alors il faut revoir la configuration de votre serveur)

Citation:
Envoyé par TheOrY
Code :
1
2
3
4
$contenu_image = file_get_contents('photo/$fname');
 
preg_match('#<?php(.+) ?>#isU',$contenu_image,$sortie);
echo $sortie ;
Déjà votre "protection" ne servirait pas à grand chose puisqu'il existe plusieurs types de balises PHP (longues, courtes, <script ...>, asp). Mais si vous y tenez et au lieu de dire ça ne marche pas il faudrait débugger et regarder ce que contient chaque variable (sans oublier de développer avec une valeur d'au moins E_ALL pour error_reporting).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2007, 12h14   #7
Invité de passage
 
Inscription : février 2007
Messages : 20
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 20
Points : 4
Points : 4
Ouais, c'est a causes des fichiers image, puisque mon site était un site d'upload d'image.

Ensuite désoler, mais je n'est pas vos connaiance en php et je suis amateur, donc désoler de vous posez ce genre de questions, mais j'avoue qu'une aide de votre part serais la bienvenue.

Ps : je ne sais pas débogué php donc ne m'en veuillez pas...
TheOrY est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h18.


 
 
 
 
Partenaires

Hébergement Web