|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juillet 2003 Messages : 17 ![]() |
Bonjour,
Sur mon site internet (dynamique en PHP) je cherche rendre l'accès d'un repertoire impossible à l'utilisateur X mais j'aimerai que le serveur puisse y avoir accès. Pour l'instant j'utilise un .htaccess mais la protection est tellement efficace que même le serveur ne peut pas lire les données contenu dans le repertoire (images and co). Dans une certaine mesure ceci est logique puisque je n'ai pas envie que les gens visualisent certaines données sans permission mais par contre je ne peux pas afficher les autres données à des gens qui se sont loggés et qui sont authorisés. donc 1) je veux interdire l'accès à des répertoires spécifiques par une modification de l'url (style www.monsite.fr/page_interdite/) 2) je veux que quand même pouvoir afficher à l'écran certaines de ces données mais uniquement celles que les pages PHP appellent. (style www.monsite.fr/affiche_donnee_interdite.php?id=1) j'ai essayé de me documenter sur le sujet mais je n'ai pas trouvé quelque chose de claire. merci pour les indications que vous pourrez m'apporter. Zob |
|
|
00
|
|
|
#2 |
![]() ![]() Nicolas ValléeIngénieur Système Inscription : décembre 2005 Messages : 9 771 ![]() |
un chown apache
un chmod 700 comme cela, seuls les scripts php peuvent lire... |
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : novembre 2005 Messages : 3 879 ![]() |
renseigne toi sur les htaccess aussi
__________________
Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin. Cours | FAQ | Sources Javascript Cours | FAQ | Sources PHP Mes Articles |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : juillet 2003 Messages : 17 ![]() |
Ok donc je change le propriétaire des fichiers.
je les rends lisible qu'avec les scripts PHP. Question : je travaille sous windows : est ce grave docteur? y-t-il des fonctions php qui permettent de changer les propriétaires et les droits d'un fichiers (je me mets à chercher en parallèle dès maintenant)? en ce qui concerne le .htaccess, j'avoue que tout ce que j'ai trouvé m'a paru à la fois simple et compliqué dès que j'ai essayé de le mettre en application. merci déjà pour ces solutions |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
Avec un htaccess avec deny from all, tu peux quand même accéder à tes fichiers par un include.
Pour les images, est-ce que tu ne peux pas lire le fichier (fopen()), et renvoyer le contenu avec les headers adéquats ? |
|
|
00
|
|
|
#6 |
![]() ![]() Nicolas ValléeIngénieur Système Inscription : décembre 2005 Messages : 9 771 ![]() |
sous windows, la gestion des droits est inexistante... ou presque
il te faut un .htaccess qui limite l'accès à localhost... pour les images, il te faut utiliser ces fonctions http://www.php.net/manual/fr/ref.image.php |
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Inscription : mars 2005 Messages : 1 667 ![]() |
Ou alors avec un htpasswd ou la seul ceut qui ont le mot de passe pouront y acceder
|
|
|
00
|
|
|
#8 | |
|
Membre Expert
![]() Développeur informatique Inscription : août 2005 Messages : 1 179 ![]() |
Citation:
si j'ai bien compris, il veut protéger l'accés à certaines ressources via une authentification par script. De plus, si tu bloques l'accès avec un htaccess, les images ciblées dans la propriété src de la balise img d'une page ne s'afficheront pas. La solution la plus simple à mon avis, est de bloquer l'accès à ce répertoire avec un htaccess (deny from all) et pour les ressources, de demander à PHP de les afficher avec une fonction header et un content-type image.
__________________
http://cdemarche.developpez.com/ Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
|
|
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
Citation:
|
|
|
|
00
|
|
|
#10 | |
|
Membre Expert
![]() Développeur informatique Inscription : août 2005 Messages : 1 179 ![]() |
Citation:
__________________
http://cdemarche.developpez.com/ Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
|
|
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : juillet 2003 Messages : 17 ![]() |
Merci
Je vais donc chercher dans ce sens là. Dès que je trouve je vous ferai part de ma solution. Merci |
|
|
00
|
|
|
#12 | ||
|
Invité régulier
![]() Inscription : juillet 2003 Messages : 17 ![]() |
Re-bonjour à tous
Encore un petit problème sur le script suivant Code :
la bibliothèque gd2 est activée. Je ne vois pas trop d'où ca pourrait venir.[/code] |
||
|
|
00
|
|
|
#13 |
![]() ![]() Nicolas ValléeIngénieur Système Inscription : décembre 2005 Messages : 9 771 ![]() |
deja, est-ce que ca marche quand tu l'appelles directement ?
|
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Inscription : juillet 2003 Messages : 17 ![]() |
Non ca me renvoie une série de caractère imbouffable
|
|
|
00
|
|
|
#15 |
![]() ![]() Nicolas ValléeIngénieur Système Inscription : décembre 2005 Messages : 9 771 ![]() |
et avec cette syntaxe... ?
|
|
|
00
|
|
|
#16 |
|
Invité régulier
![]() Inscription : juillet 2003 Messages : 17 ![]() |
Non il me renvoie encore les mêmes caractères.
Visiblement c'est la fonction header qui ne doit pas passer (je n'ai pas accès aux erreurs car je ne travaille pas directement sur le serveur qui n'est pas à coté de moi) Y a t il des bibliothèques à activer? |
|
|
00
|
|
|
#17 |
|
Invité régulier
![]() Inscription : juillet 2003 Messages : 17 ![]() |
OK ce script fonctionne mais avec des ' a la place des "
je trouve la solution à mon problème je l'expose et je mets un résolu Merci |
|
|
00
|
|
|
#18 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2005 Messages : 78 ![]() |
dans le src de ton image, fait appel a image.php?nom=lenom
Puis fait seulement un include("$path".$_GET['nom']); tu vas voir ca marche, en tout c'est ce que je fais. |
|
|
00
|
|
|
#19 | ||||
|
Invité régulier
![]() Inscription : juillet 2003 Messages : 17 ![]() |
Bonjour,
Donc j'ai opté pour une solution .htaccess qui interdit l'acces à toutes les données du répertoire privé et un chargement des photos par un header. ma page php qui affiche mes vignettes est de la forme suivante Code :
Code :
J'ai coupé du code. Par contre ce qui me gene dans cette technique c'est qu'a chaque fois que la page photo.php est appelé il y a un connection à la BDD mysql pour aller chercher le nom et le chemin du fichier. J'ai essayé la tchnique de TobyKaos mais si le nom de la photo contient un espace alors le nom est coupé. J'avais pensé à une connection persistante ou une variable de session. Pour la variable de session : Quand je mets le chemin dans $_SESSION['chemin'][$i] (pour chaque image) ca ne fonctionne pas alors que si je mets $_SESSION['chemin'] il me renvoie le chemin de la dernière vignette. bizarre que ca ne fonctionne pas toujours. Bref c'est lent mais ca marche. Merci beaucoup pour votre aide à tous en espérant que mon explication soit compréhensible. Zob |
||||
|
|
00
|
|
|
#20 | |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com