Page 1 sur 1

Protéger un répertoire mais accessible depuis un script

Posté : 07 nov. 2006, 11:43
par lulumOriss
Bonjour,

ce doit être une question récurrente mais je n'ai pas trouvé de solution : je cherche à protéger un répertoire contenant des fichiers xml d'un accès via l'url, mais en laissant ces fichiers accessible depuis un script PHP.

Comment faire ?

Merci.

lulu.

Posté : 07 nov. 2006, 11:53
par fred9999
salut
tu peut les protéger depuis ton ftp non??
ou modifier leur accès en lecture??

Posté : 07 nov. 2006, 12:05
par lulumOriss
Il faut que je laisse les droits en écriture sur ces fichiers, le script PHP permettant de les modifier.

Il faut protéger le répertoire.

Posté : 07 nov. 2006, 12:12
par titerm
il suffit de mettre tes fichies xml hors du chemin de la racine de ton site web.
Depuis ton php, tu y accede en absolu ou tu renseigne l'include path tu y accede en t'appuyant sur l'include path.
dans fopen(), le 3eme parametre permet de prendre l'include path en compte.

Posté : 07 nov. 2006, 12:27
par lulumOriss
Tu veux dire que je place mes fichiers au même niveau que le www/ (c'est la racine du site), c'est ça ?
Je n'aurai pas de problème d'accès aux fichiers (accessibles depuis PHP mais aussi depuis une appli Flash) ?

Posté : 07 nov. 2006, 12:34
par fred9999
en ftp tu peut protéger un repertoire non???

tes fichiers xml sont contacté par un fichier flash dans le meme repertoire??

Posté : 07 nov. 2006, 12:41
par lulumOriss
Je peux protéger un répertoire : oui, avec un .htaccess mais je ne peux plus accéder aux fichiers depuis mon script. Sinon, je ne sais pas.

Les fichiers xml sont appelés depuis un fichier Flash dans le répertoire parent.

Posté : 07 nov. 2006, 12:47
par fred9999
et si ton script modifie le chmod pour lui permettre d'entrer puis a la fin le remodifie pour le reprotéger??

Posté : 07 nov. 2006, 12:50
par titerm
je cherche à protéger un répertoire contenant des fichiers xml d'un accès via l'url, mais en laissant ces fichiers accessible depuis un script PHP.
Ton besoin a la base, c'est ca.
interdire l'accès via url
Tu veux dire que je place mes fichiers au même niveau que le www/ (c'est la racine du site), c'est ça ?
Oui c'est cela, meme niveau ou tout au moins, pas dessous.
Je n'aurai pas de problème d'accès aux fichiers (accessibles depuis PHP mais aussi depuis une appli Flash) ?
Une appli flash tourne sur le client, elle lira donc ses fichiers via l'url. Tu changes tes besoins en cours de route la...
Donc a moins que tu génère ton flash depuis php et que tu y intègre les données du fichiers XML, cela ne marchera pas.
Si ton flash a besoin d'accéder a un fichier externe de ton site, tu vas avoir du mal a protéger ce fichier. Comment fera tu la difference entre ton flash qui essai de lire ce fichier et nimporte quoi d'autre ... ?

Posté : 07 nov. 2006, 13:47
par lulumOriss
Si je fais appel aux fichiers en absolu dans mon appli Flash, ça devrait fonctionner, non ?

Posté : 07 nov. 2006, 17:08
par Ultiny
Utilise un fichier .htaccess pour interdire l'accès via HTTP.

Posté : 07 nov. 2006, 18:36
par naholyr
Si je fais appel aux fichiers en absolu dans mon appli Flash, ça devrait fonctionner, non ?
Si Flash doit avoir accès à ton fichier, alors le visiteur aussi (c'est le visiteur qui intérprète l'animation flash, c'est son navigateur qui envoie la requête au fichier xml). Tu NE PEUX PAS interdire l'accès à un fichier au visiteur sans l'interdire à ton animation Flash également.

Une piste probable serait de s'inspirer des systèmes anti-vol d'image (pour empêcher l'affichage d'une image depuis un autre site) : http://forum.ovh.com/archive/index.php/t-374.html
Mais je pense que ça bloquera également l'accès au fichier depuis l'anim flash.
Utilise un fichier .htaccess pour interdire l'accès via HTTP.
Tu n'as pas lu le reste du topic ;)

Posté : 08 nov. 2006, 00:34
par Ultiny
Utilise un fichier .htaccess pour interdire l'accès via HTTP.
Tu n'as pas lu le reste du topic ;)
Bah si c'est ce que je voulais dire : mettre un mot de passe sur le repertoire et laisser dans le script de l'application Flash le mot de passe, et si on veut pousser encore plus : un coup de SSL.