accès à un fichier protégé dans un repertoire par htaccess

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : accès à un fichier protégé dans un repertoire par htaccess

par sonypiel1 » 19 mai 2008, 08:40

lol !!!
ca en fait des solutions !

bon, je viens de regarder tout ça et je pense que je vais enlever le .htaccess pour utiliser les sessions, ça semble à ma portée (hum... ^^)

mer6 @ tout le monde pour l'aide apportée et @ très bientôt je pense, pour la suite de mon aventure en terre PHP inconnue...

S1

par Victor BRITO » 19 mai 2008, 00:54

Ou alors regarder du côté de l'inclusion de fichiers, qui permet de passer outre un .htaccess contenant un "deny from all". Encore faut-il voir (surtout s'il s'agit d'inclure un fichier distant) si la configuration de PHP le permet.

par caroube » 19 mai 2008, 00:04

Il y a deux moyens d'accéder à un fichier à partir de php :
1) en passant par l'URL (http://monsite.com/fichier.txt) et donc en faisant appel à un serveur Web (Apache par exemple) qui va appliquer des protections style htaccess, ou qui va exécuter le fichier (s'il a une extension php par exemple) avant de renvoyer le fichier
2) en passant par le système de fichier si le fichier est en local (/www/fichier.txt ou c:\Web\fichier.txt). A ce moment-là, Apache n'est pas sollicité et les protections .htaccess ne s'appliquent pas.

par Sékiltoyai » 18 mai 2008, 10:18

Je comprends bien ta 2e phrase, Sékiltoyai, mais dans mon cas, le fichier montexte.txt est généré depuis une autre page creation.php lié à xinha (pour une utilisation comme dans "word")... et donc montexte.txt doit etre protégé puisqu'il est ouvert en écriture (chmod)... d'ailleurs creation.php doit etre protégé aussi.
Et ? En le sortant de l'arboresense web (ou en placant un deny from all dans un .htaccess), il est protégé vis à vis de l'internet. Après évidemment il ne faut pas que ton script fournisse le fichier à qui n'y a pas le droit. C'est à dire que où qu'il soit c'est toi qui le contrôle et qui dit qui y a accès ou non, c'est à dire que ton script y aura un accès direct, mais c'est à lui de décider de quand il va accepter de le modifier ou non, donc à lui d'établir la sécurité, et non de la subir…

par orgerix » 18 mai 2008, 09:28

par sonypiel1 » 18 mai 2008, 09:09

Je comprends bien ta 2e phrase, Sékiltoyai, mais dans mon cas, le fichier montexte.txt est généré depuis une autre page creation.php lié à xinha (pour une utilisation comme dans "word")... et donc montexte.txt doit etre protégé puisqu'il est ouvert en écriture (chmod)... d'ailleurs creation.php doit etre protégé aussi.

Mais c'est vrai que comme newB, je n'apprehende surement pas tout sous le bon angle... mais bon ça marche en ce moment, sauf le login et le passwd...

Si quelqu'un a l'adresse d'un bon tutorial pour les variables de sessions, je prends ^^
Mer6 encore

par Sékiltoyai » 17 mai 2008, 23:51

Avec un .htaccess tu te compliques un peu la vie il faut avouer. Le fait d'accéder au fichier par l'arborescence locale t'affranchis de toute nécessité d'une identification par .htaccess. Et même mieux, de cette manière, tu peux même sortir le fichier de l'arborescence web et le placer là où une requète http ne pourra même pas venir le chercher…
Par exemple si la racine du site est au chemin /a1/sites/monsite et que tu mets le fichier dans /a1/dossier_protege, aucun internaute ne pourra venir chercher le fichier (si bien sûr il n'y a pas un site dans ce répertoire).

par sonypiel1 » 17 mai 2008, 22:57

mon script, le fichier page.php est à la racine du site et va chercher dans le repertoire monrepertoire le fichier montexte.txt

il va donc me falloir utiliser les variables de sessions... je vais chercher sur les tutoriaux...
^^

Merci encore à tout le monde !!!
... qu'est ce qu'on apprend ici...

par orgerix » 17 mai 2008, 22:52

Le chemain d'accès et en gros les répertoire que tu dois ouvrir pour accèder à ton fichier.

Par exemple, si ton script est dans 'monrepertoire', si tu dis $filename="montexte.txt", ca devrait pouvoir l'ouvrir.

Si ton script est à la racine, il suffit d'ajouter avant monrépertoire/

Cependant, la protection avec le htacces ne marche pas, vu que ce n'est plus une requete http, mais tu peux très bien gérer toi même les accès en utilisant les variables de sessions.

par sonypiel1 » 17 mai 2008, 22:52

Désolé mais en fait c'est un peu con de spécifier une url pour aller chercher le fichier s'il est sur le même site… C'est genre pourquoi faire simple quand on peut faire compliqué :-/
Spécifie un chemin vers le fichier plutôt qu'une url…
oui, mais tu peux me dire comment l'écrire stp ?
$filename = "http://monID:[email protected]/monrepertoire/montexte.txt";
devient quoi ?
$filename = "monID:monPass@monrepertoire/montexte.txt";
???

par Sékiltoyai » 17 mai 2008, 22:48

Désolé mais en fait c'est un peu con de spécifier une url pour aller chercher le fichier s'il est sur le même site… C'est genre pourquoi faire simple quand on peut faire compliqué :-/
Spécifie un chemin vers le fichier plutôt qu'une url…

par sonypiel1 » 17 mai 2008, 22:38

effectivement :
Warning: fopen() [function.fopen]: URL file-access is disabled in the server configuration in /home/www...
Warning: fopen(http://...@...) [function.fopen]: failed to open stream: no suitable wrapper could be found in /home/www... on line 9

je venais justement d'aller voir le phpinfo du serveur :
Directive Local Value Master Value
allow_url_fopen On Off

j'avoue que je ne sais plus quoi faire... changer les paramètres du serveur c'est pas trop possible je pense et sinon trouver une autre fonction php, mais vu mon niveau de programmation :(

Merci encore à tous le monde...
Toute aide pour ma suite serait très appréciée...

S1

par Cyrano » 17 mai 2008, 21:27

Vire également le "@" devant le fopen() : j'ai idée que le problème va apparaître.

par sonypiel1 » 17 mai 2008, 20:55

j'ai remplacé le <? par un <?php dans la première ligne...

La page http://www.monsite.com/page.php me renvoie invariablement "Pas de texte !"... comme si la connexion avec le fichier ne se faisait pas !?!

En tout cas, mer6 de ta rapidité à répondre ^^

par Sékiltoyai » 17 mai 2008, 20:49

Remplace le <? par un <?php et cela fonctionnera…
j'ai essayé mais ça ne fonctionne toujours pas :(
C'est à dire ?