IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Améliorer ce code


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2011
    Messages : 33
    Par défaut Améliorer ce code
    bonjour

    J'utilise ce code pour télécharger les fichiers depuis mon site
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	<?php
     
    if(!empty($_GET['file'])){
    	$getId = $_GET['file'];
     
    		echo '<a href="javascript:MaxWin(\''.$getId.'\')" ><img border="0" src="telecharger.gif" width="35" height="36"></a>';
        }else{
            echo 'Cannot find  file  ' ;
        }
    ?>
    Le script fonctionne bien.
    Affiche les liens de téléchargement depuis url:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    telecharger.php?file=monfichier.rar
    Pouvez-vous m'aider à le développer et le rendre plus sécurisé

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    ce n'est pas de l'"amélioration de code" qu'il te faut, mais une ré-écriture complète !
    Actuellement, avec ton code, on peut télécharger n'importe quel fichier de ton serveur.

    Commence par te poser les bonnes questions, en partant du principe que "le pire est toujours possible"

    ex. :
    Passage du nom de fichier en GET dans l'URL, en clair :
    - n'importe qui peut modifier ce nom directement dans la barre d'adresse.
    - en clair = lisible
    => comment éviter ca ? passer en POST ? en SESSION ? crypter le nom ? ...

    Le fichier :
    - le fichier existe sur le serveur ?
    => vérifier l'existence -> is_file() - file_exists()
    - n'importe quelle extension ?
    => vérifier l'extension (liste d'extensions autorisées)
    - fichier autorisé au téléchargement ?
    => liste de fichiers autorisés (?)

    ...

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2011
    Messages : 33
    Par défaut
    bonjour

    Merci jreaux62 pour vos éclaircissements.
    je n'ai pas bien expliqué pour vous.

    Voici le code Javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <SCRIPT language=JavaScript src="telecharger.js"></SCRIPT>
     
    <SCRIPT language=JavaScript>
      <!--
      function MaxWin(adr)
      { location="http://autre_serveur.com/doc/"+adr+".rar";}
      // -->
      </SCRIPT>
    URL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://mon_serveur.com/telecharger.php?file=monfichier
    Pour le fichier
    code de telecharger.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
     
    if(!empty($_GET['file'])){
    	$getId = $_GET['file'];
    	if (file_exists('http://autre_serveur.com/doc/doc_'.$getId.'.rar')) {
    		echo '<a href="javascript:MaxWin(\'doc_'.$getId.'\')" ><img border="0" src="telecharger.gif" width="35" height="36"></a>';
        }else{
            echo 'Le fichier n\'existe pas ou il ya une erreur  ' ;
     
        }
    	}
    ?>
    Le problème que la recherche du fichier ne fonctionne pas
    Même si le fichier existe, le message suivant apparaît
    'Le fichier n'existe pas ou il ya une erreur

  4. #4
    Invité
    Invité(e)
    Par défaut
    http://autre_serveur.com/doc/doc_'.$getId.'.rar
    Tu veux télécharger des fichiers DEPUIS un AUTRE serveur ?
    Ca ne va pas être possible comme ca.

    Je pensais que tu voulais proposer au téléchargement des fichiers de TON serveur.

  5. #5
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Hum ton get n'est pas du tout securisé.

    Faudrai penser a faire un regex dessus.

    Si tu fais du regex faut faire en php car la desactivation du javascript est aisé.

  6. #6
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2011
    Messages : 33
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Tu veux télécharger des fichiers DEPUIS un AUTRE serveur ?
    Ca ne va pas être possible comme ca.

    Je pensais que tu voulais proposer au téléchargement des fichiers de TON serveur.
    Oui, je veux proposer mes fichiers en téléchargement à partir d'un autre serveur
    J'ai trouvé ce code, mais je ne savais pas comment l'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    function fileExists($path){
        return (@fopen($path,"r")==true);
    }
    ?>

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    ce code sert strictement a rien file_exists existe déjà ...

Discussions similaires

  1. Amélioration de code
    Par Devilju69 dans le forum Langage
    Réponses: 3
    Dernier message: 07/10/2008, 16h01
  2. Optimisations et Améliorations de code
    Par womannosky dans le forum Langage
    Réponses: 19
    Dernier message: 02/07/2008, 16h05
  3. [Optimisation]Peut-on améliorer ce code ?
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 09/08/2007, 16h43
  4. [Tableaux] Amélioration de code (if)
    Par Sir Tengu dans le forum Langage
    Réponses: 3
    Dernier message: 24/12/2006, 01h26
  5. [Sécurité] Comment amélioré mon code ?
    Par Nadd dans le forum Langage
    Réponses: 14
    Dernier message: 03/03/2006, 21h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo