begin process at 2012 05 30 19:44:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

interdire l'upload d'un fichier php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

interdire l'upload d'un fichier php

jeudi 3 décembre 2009 à 13:52:49 | interdire l'upload d'un fichier php

xzonz

Bonjour a toutes et tous

voila ma question

j'ai un script d'upload sur mon site web

et je voudrais savoir comment interdire
d'uploader des fichier php ou contenant du php
afin d'eviter des problèmes de sécurité.

Merci de votre aide

Franck
jeudi 3 décembre 2009 à 16:01:44 | Re : interdire l'upload d'un fichier php

manu7930

// Définition du fichier dont il faut récupérer l'extension

$monArchive = $tonfichier;

// Une fois extention récupéré.

if(pathinfo($monArchive, PATHINFO_EXTENSION) == "php") {
exit(header('Location: redirection'));}

*********************************************
redirection= une page de ton choix par exemple
$tonfichier: le ou les fichier en question
jeudi 3 décembre 2009 à 19:28:33 | Re : interdire l'upload d'un fichier php

xzonz

ok merci
mais si un petit malin
met du php entre deux balises
html qu'il l'upload puis l'execute
la faille persiste

je pensais controller le type
mime du fichier avant de l'envoyer
mais j'ai aucune idee de la maniere
d'y parvenir
tu as peut etre une idee

merci
jeudi 3 décembre 2009 à 19:48:39 | Re : interdire l'upload d'un fichier php

TychoBrahe

Salut,

mais si un petit malin
met du php entre deux balises
html qu'il l'upload puis l'execute
la faille persiste


Non. Normalement un serveur web (tel qu'apache) se fie à l'extension du fichier pour déterminer son comportement vis-à-vis d'un fichier. Par défaut un fichier .htm ou .html sera considéré comme tel et le PHP se trouvant à l'intérieur ne sera pas interprété.

je pensais controller le type
mime du fichier avant de l'envoyer
mais j'ai aucune idee de la maniere
d'y parvenir


Oui mais ça ne remplace pas la vérification de l'extension. Si tu veux l'ajouter regarde du côté de finfo_file(), en particulier l'exemple.
vendredi 4 décembre 2009 à 10:43:33 | Re : interdire l'upload d'un fichier php

xzonz

Salut

j'ai fait le test
et malheureusement quand je crée un fichier html bidon
et que je met du php dedans avec un unlink de ma page d'index
ou des choses du genre - que je retourne sur ma page web apres l'upload et que j'execute la page html ...

le code php est bien exécuté

pour info je suis chez freeheberg

une solution peut etre ?

Merci de votre aide

Franck
samedi 5 décembre 2009 à 11:10:16 | Re : interdire l'upload d'un fichier php

TychoBrahe

Salut,

le code php est bien exécuté

pour info je suis chez freeheberg

une solution peut etre ?


La meilleur solution serait de ne pas utiliser un mutu dont on ne maîtrise pas la conf. Sinon tu devrait t'en sortir avec un AddHandler, si bien entendu tu peux utiliser les .htaccess ou autre moyen permettant d'agir sur la conf d'apache (si le serveur est bien apache bien entendu).

Au passage concernant la vérification du type MIME :
Code HTML :
<html>
  <head>
    <title>toto</title>
  </head>
  <body>
    <h1>coucou</h1>
    <p>
      <?php echo 'titi'; ?>
    </p>
  </body>
</html>

tycho@uraniborg-> file toto.html
toto.html: HTML document text
tycho@uraniborg-> file toto.php
toto.php: HTML document text


Ça risque fort de ne pas vraiment fonctionner :)
samedi 5 décembre 2009 à 12:50:51 | Re : interdire l'upload d'un fichier php

kohntark

Membre Club
Salut,

Heu... pourquoi ne pas utiliser simplement str_replace() :
Code PHP :
<?php
$content = str_replace('<?php','', $content);
?>

... substr_replace(), ou ... Bref, virer les balises PHP.

C'est un exemple hein, il faut peut être l'adapter à ton cas (short_open_tag, ...)


Cordialement,

Kohntark -

samedi 5 décembre 2009 à 14:24:52 | Re : interdire l'upload d'un fichier php

TychoBrahe

Salut,

Heu... pourquoi ne pas utiliser simplement str_replace() :


Parce que ça ne fonctionne que pour le PHP ? En acceptant uniquement des extensions connues on évite tout ce qui est php mais également perl, python, ruby, etc ; ce qui est difficile à mettre en place autrement.
samedi 5 décembre 2009 à 15:33:14 | Re : interdire l'upload d'un fichier php

kohntark

Membre Club
Désolé, je n'ai pas compris.
Pourquoi parles tu de Perl, etc ??
Je n'ai jamais dit qu'il ne fallait pas contrôler l'extension ou le type mime que je sache.

Je répondais à ça :

La meilleur solution serait de ne pas utiliser un mutu dont on ne maîtrise pas la conf. Sinon tu devrait t'en sortir avec un AddHandler, si bien entendu tu peux utiliser les .htaccess ou autre moyen permettant d'agir sur la conf d'apache (si le serveur est bien apache bien entendu).



Cordialement,

Kohntark -



Cette discussion est classée dans : fichier, php, upload, interdire


Répondre à ce message

Sujets en rapport avec ce message

Upload sur Free [ par bgK ] lorsque j'essaie d'uploader un fichier,j'obtiens le message suivantWarning: Unable to access in upload.php on line 5la ligne 5 de upload.php : $des upload de fichier [ par overider ] salutj'ai un probleme sur un script d'upload de fichier :::// initialisation de la connexion FTPinclude("mysql.inc");$path="../files/";//echo substr( upload gro fichier [ par MisterJAD ] Bonjour à tous,j'ai besoin d'uploader via php et non via un logiciel ftp, des gros fichiers (max 10mo) sur le serveur.... mais meme lorsque je faitini Upload de fichier.. AU SECOURS!! SVP!!! [ par UnKnoW ] Bonjour!Avant que vous lisiez ceci sachez que j'apprécie ÉNORMÉMENT votre aide que j'en ai extrêmement de besoin!! Merci du fond du coeur!Mon problème Upload fichier php [ par alanbraxe31 ] Bonjour à tous!voila j'ai un gros soucis avec la fonction mail en php.je souhaites joindre un fichier à mon mail. A la réception du mail, les fichiers UPLOAD -> comment faire???? [ par attentio ] salut !!!! je voudrais savoir comment faire pour uploader un fichier.j'ai commencé quelques petites choses. en fait, j'ai un premier fichier nommé for [Upload] "Cassage" de fichiers? [ par ricopetitdejeuner ] Bonjour,     Je suis en train de reprendre un code en php d'upload de fichiers sur un FTP (interne a la boite, donc pas de souci comme pour Free, d' incrementation en php [ par kyript ] bonjour en faite dans mon formulaire, on peut upload un fichier mais le pb j'aimerai genere un code qui s'increment a chaque upload de fichier Formulaire html + php [ par jcheseaux ] Bonjour ! Voila mon problème, j'ai créer un formulaire HTML gérant l'upload de fichier. Le problème, c'est que lors de l'envoie des variables depuis m Taille fichier / upload [ par tweeder ] Bonjour,J'ai modifié la taille maximal pour l'upload de fichier sur mon serveur à 30 mo. Malheureusement, je suis incapable d'uploader des fichiers qu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,560 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales