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

Symfony PHP Discussion :

Script de téléchargement


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 321
    Par défaut Script de téléchargement
    Bonjour,
    Je travaille dans un contexte d'espace public ou d'espace privé.
    Chaque espace peut abriter divers documents (avi, doc, jpg etc...)
    Pour accéder à ces documents il faut arriver sur une page dédiée à cet effet dans chaque espace (il faut au préalable se connecter, s'ensuit une procédure de vérification pour savoir si l'utilisateur peut accéder suivant les droits qui lui sont accordés)
    Tout cela fonctionne bien mais voici mon problème :

    Si j'essaye d'accéder à un document (le télécharger) en entrant directement l'url menant à ce doc (ex : http://monsite/monEspace/document.doc ) cela fonctionne même si aucun utilisateur n'est connecté ou n'a pas les droits.

    Je ne vois pas comment empêcher cela.
    Existe-t-il quelque chose pour gérer ce genre de problème en symfony ?

    Merci.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 136
    Par défaut
    Bonjour,

    Tu devrais commencer par rendre le dossier contenant les fichiers inaccessible en configurant apache (ou simple deny dans le .htaccess) ou carrément stocker les fichiers hors du dossier publique (i.e "data/").

    Ensuite, tu sers les fichiers au travers d'un contrôleur. Ainsi tu peux facilement gérer les droits d'accès...

  3. #3
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    L'avantage de symfony c'est que il est très modulable et malléable.

    Dans un premier temps, il faut mettre les fichiers dans une partie de l'arborescence qui ne soit pas accessible par le net, comme l'application symfony est stockée hors de portée des utilisateurs.

    Une des forces de symfony est le routage, en effet, tu peux autoriser avec le paramètre sf_format, des extensions différentes que le .html.

    Après, il va falloir écrire le code pour récupérer et envoyer le fichier.

    J'ai trouvé un bout de code sur le forum anglais, il est compréhensible facilement, même s'il devra être un peu adapté pour ta solution.

    Le code pour envoyer un fichier.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 321
    Par défaut
    Merci pour ton code mimi,
    en effet en remaniant un peu cela et en complant avec quelques directives .htaccess je devrais pouvoir m'en sortir.
    Je vous tiendrai au courant.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 321
    Par défaut
    Je me suis inspiré du code que tu as proposé mimi et cela fonctionne bien.
    Sauf dans le cas d'une image. En effet je ne souhaite pas proposer l'image au téléchargement mais juste l'afficher à l'aide de thickbox.
    Or cela ne fonctionne pas... Lorsque que j'enleve le class="thickbox" je vois mon image dans un nouvel onglet. Mais sinon j'ai une erreur.

    Si quelqu'un connait bien thickbox il pourrait m'apporter de l'aide.

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 136
    Par défaut
    Es-tu certain de renvoyer le bon content-type ?

    Sinon, si tu es en environnement de développement, n'oublie pas de désactiver la "debug bar" dans le contrôleur qui sert les fichiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sfConfig::set('sf_web_debug', false)

  7. #7
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    @Tonio 76
    Dans le code donné pour le retour de fichier il n'y a pas de passage par le template, donc pas de barre de debug chargée (ce qui peut, parfois, être problématique pour le débug).

    Je n'ai jamais utilisé thickbox mais je pense qu'il faut que tu passes en deux fois. Une fois d'une manière standard, ce qui va t'afficher ton formulaire en html avec la liste des images qui devrons être affichées dans la thickbox.

    En temps normal, le système irait chercher les images dans un dossier du serveur, ici tu interceptes la demande avec le même code qu'avant dans un deuxième contrôleur qui retourne l'image. Et plus probablement, dans une multitude de contrôleurs, un par image.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3

Discussions similaires

  1. Script de téléchargement PHP et IE6
    Par tibom dans le forum Langage
    Réponses: 1
    Dernier message: 28/10/2008, 09h36
  2. Script de téléchargement.
    Par voldie dans le forum Windows
    Réponses: 1
    Dernier message: 16/10/2007, 22h23
  3. [Conception] Script de téléchargement d'image
    Par mimagyc dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 11
    Dernier message: 31/05/2007, 23h52
  4. script de téléchargement d'image
    Par Blo0d4x3 dans le forum Langage
    Réponses: 1
    Dernier message: 26/05/2006, 15h47
  5. script pour téléchargement
    Par polace dans le forum Langage
    Réponses: 1
    Dernier message: 02/03/2006, 16h34

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