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 :

Protéger un sous répertoire et son contenu d'un accès direct


Sujet :

Langage PHP

  1. #21
    Membre habitué Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 223
    Points : 128
    Points
    128
    Par défaut
    J'ai bien mis ceci dans le .htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    order deny, allow
    deny from all
    Mais le répertoire est listable et les fichiers consultables. Je me demande si ce code n'est pas soumis à une certaine configuration du serveur Apache...

  2. #22
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Oui, il faut que

    AllowOverride FileInfo

    soit effectif pour le directory (ou virtualhost ?)

    tu as accès à la config d'apache ?
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  3. #23
    Membre habitué Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 223
    Points : 128
    Points
    128
    Par défaut
    Moi non mais les techniciens si ^^

    Mais j'ai accès (évidemment) au infos du serveur via phpinfo(), y'a t'il moyen de vérifier ceci dans les infos de cette page avant de demander une modif du serveur.

  4. #24
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    je ne vois pas ça dans le phpinfo

    tu peux toujours essayer de faire
    echo nl2br(file_get_contents('/etc/apache/httpd.conf'));

    pour autant que ce soit le bon emplacement de httpd.conf

    sinon demande au techniciens
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  5. #25
    Membre habitué Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 223
    Points : 128
    Points
    128
    Par défaut
    Bon ben il faudra que je voit ça avec eux.

    Merci beaucoup pour ton aide, j'espère que tout fonctionnera une fois le htaccess en place.

  6. #26
    Membre habitué Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 223
    Points : 128
    Points
    128
    Par défaut
    Désolé j'ai rien dit

  7. #27
    Membre habitué Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 223
    Points : 128
    Points
    128
    Par défaut
    Désolé je up un vieux sujet mais j'ai un autre soucis.

    La solution que m'a donné macha fonctionne bien, mais il faudrait que je la modifie légèrement. En effet je veux également pouvoir accéder à ces fichiers depuis une autre URL. Je m'explique :

    - http://www.url1.fr/ accès aux fichiers via login (donc htaccess bloque tout si on est pas loggué) ---> fonctionne
    - http://www.url2.fr/ accès aux fichiers en pointait vers le dossier de la première URL et comme l'url2 n'a pas de log (accès libre du site) les fichiers sont bloqués par le htaccess.

    Je me suis bêtement dit : "prend le script donné par macha, recopie le dans le fichier de l'url 2 et basta!". Oui mais voilà la fonction filesize ne fonctionne pas pour les URL (sous entendu des répertoires autres que ceux du FTP en question).

    le site 1 a ce script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    $file = $nbCompt['fichier_chemin'];
    $pi = pathinfo($file);
    // ajouter de la sécurité ici pour interdire au client de choisir des chemins remontants (../../etc/passwd) :-)
    $ext = $pi['extension'];
    if($ext=='pdf')
    {
    	$mimeType = 'application/pdf';
    	$path = 'upload/'.$file;
    	//$size = filesize($path);
    	header("Content-Type: $mimeType");
    	//header("Content-Length: $size");
    	readfile($path);
    }
    else
    {
    	header('Content-disposition: attachment; filename='.$file);
    	header('Content-Type: application/force-download');
    	header('Content-Transfer-Encoding: fichier'); 
    	header('Content-Length: '.filesize('upload/'.$file));
    	header('Pragma: no-cache');
    	header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
    	header('Expires: 0');
    	readfile('upload/'.$file); 
    }
    J'ai voulu le changé en remplaçant les "upload/" par une URL ("http://www.url1.fr/upload/") mais j'ai ces erreurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Warning: filesize() [function.filesize]: stat failed for http://www.url1.fr/upload/fichier.pdf in /home/www/compteur_upload.php on line 49
     
    Warning: Cannot modify header information - headers already sent by (output started at /home/www/compteur_upload.php:49) in /home/www/compteur_upload.php on line 50
     
    Warning: Cannot modify header information - headers already sent by (output started at /home/www/compteur_upload.php:49) in /home/www/compteur_upload.php on line 51
     
    Warning: readfile(http://www.url1.fr/upload/fichier.pdf) [function.readfile]: failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in /home/www/compteur_upload.php on line 52

  8. #28
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Je comprends pas bien l'intérêt de protéger des fichiers par un login si tu souhaites
    qu'ils soient accessible librement depuis un autre site !!!

    Tu peux expliquer un peu mieux le contexte ?
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  9. #29
    Membre habitué Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 223
    Points : 128
    Points
    128
    Par défaut
    En fait le premier site permet (entre autre) d'uploader les fichiers et de dire si ils sont ensuite accessibles ou non sur le second (une variable à 0 n'affiche pas le lien, une variable à 1 l'affiche).

    Donc le DENY FROM ALL du htaccess fonctionne parfaitement, mais les liens visibles sur le site en libre accès doivent fonctionner aussi bien que si on était loggué sur le site principal.

    (j'espère que c'est assez clair)

  10. #30
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Bon j'imagine que sur le site 2 tu avais des liens vers le dossier /upload du site 1 ?

    par exemple sur le site 2, http://www.site1.fr/upload/fichier.pdf

    tu peux modifier ces liens pour passer par la page de download ainsi:

    http://www.site1.fr/download.php?file=fichier.pdf

    et dans le code de ta page download.php tu vérifie que l'utilisateur est logué
    que pour les fichiers accessibles seulement depuis le site1

    et tu ne crée pas de deuxième page download.php sur le site 2

    ça jouerait ainsi ?
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  11. #31
    Membre habitué Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 223
    Points : 128
    Points
    128
    Par défaut
    Merde c'est vrai que c'est tout con. Ca à l'air de marcher, je fais une vérification globale mais ça à l'air bon.

    Merci à nouveau marcha

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/03/2011, 15h56
  2. Réponses: 2
    Dernier message: 08/09/2007, 18h09
  3. Déplacer un répertoire et son contenu
    Par choubiroute dans le forum Langage
    Réponses: 6
    Dernier message: 28/04/2006, 12h59
  4. Réponses: 9
    Dernier message: 24/10/2005, 18h42
  5. Comment copier un répertoire et son contenu ?
    Par yoghisan dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 20/06/2004, 17h40

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