Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1897 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  htaccess et acces par les scripts impossible?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

htaccess et acces par les scripts impossible?

n°665452
magooo
Posté le 06-03-2004 à 17:54:46  profilanswer
 

Bonjour,  
 
J'ai un problème que je ne parviens pas à résoudre et je n'arrive pas à trouver suffisamment de renseignements là dessus.  
J'ai un répèrtoire protégé par un .htaccess de base (Deny from all).
 
J'ai un script qui a besoin de lire un fichier texte de ce repertoire en utilisant la fonction file(). Le chemin d'accès est en url et en local. En effet, le script teste les deux méthodes.
 
Un fopen teste si le fichier existe. J'utilise cette fonction car file_exists() ne fonctionne qu'en local et j'ai besoin d'accéder à plusieurs de mes sites.
 
Mais le .htaccess bloque tout evidemment.... J'ai beau mettre le nom de mon site en acces autorises dans htaccess, rien n'y fait.  
 
Ma question est la suivante : comment faire pour proteger un répèrtoire de visiteurs peu scrupuleux, tout en laissant mes scripts passer et lire ce dont ils ont besoin? pourquoi le script y parvient-il en local et pas en utilisant l'url?
 
Car normalement mes scripts devraient pouvoir lire ces fichiers textes sans problèmes il me semble ?! Or il est impossible d'acceder à ces fichiers en passant l'url alors que la partie du script qui lit en local le même script, dans le même repertoire, y arrive parfaitement.
 
On m'a parlé de droits d'accès: j'ai beau tester en local avec easyphp ou en serveur, le problème est exactement le même. Pourtant windows ne possede pas de chmod ?!
Ca fait un moment que je suis là dessus et j'ai vraiment besoin de votre aide. Je ne sais plus quoi faire.
 
Je ne cherche pas à ce qu'on m'écrive le script, mais j'ai besoin de bonnes directions (urls, conseils) car je VEUX SAVOIR le faire ;-) C'est une question d'honneur entre mon pc et moi :-)))
 
 
 
Merci pour votre aide.
 
Voici le code :
 
<?
 
class lecture_fichier {
var $repertoire;
var $fichier_a_ouvrir;
var $contenu;
var $temp;
function ouvrir_fichier ($rep,$fich)
{//debut fonction
 
$this->repertoire=$rep;
$this->fichier_a_ouvrir=$fich;
 
$this->source=$this->repertoire.$this->fichier_a_ouvrir;
 
if ($F=@fopen($this->source,"r" )) // on teste si le fichier existe
{
//$this->temp = file($this->source);
$this->contenu=implode ('',file($this->source));
 
}
else
{
$this->contenu ="Cette page ne peut pas être affichée";
 
}
return $this->contenu;
}//fin fonction
 
 
}

$repertoire="http://www.google.com/";
$fichier="index.html";
$fichier_lol2 = new lecture_fichier ;
$fichier_lol2 ->ouvrir_fichier($repertoire,$fichier);
echo $fichier_lol2->contenu;
echo "<br>";
 
echo "SUR MON SERVEUR DISTANT: <BR>";
$repertoire="http://www.monsite.com/design/modele/";
$fichier="design.txt";
$fichier_lol3 = new lecture_fichier ;
$fichier_lol3 ->ouvrir_fichier($repertoire,$fichier);
echo $fichier_lol3->contenu;
echo "<br><BR>";
 
echo "SUR LOCAL AVEC URL: <BR>";
$repertoire="http://localhost/design/modele/";
$fichier="design.txt";
$fichier_lol4 = new lecture_fichier ;
$fichier_lol4 ->ouvrir_fichier($repertoire,$fichier);
echo $fichier_lol4->contenu;
 
echo "<br><BR>";
echo "SUR LOCAL SANS URL: <BR>";
$repertoire="modele/";
$fichier="design.txt";
$fichier_lol5 = new lecture_fichier ;
$fichier_lol5 ->ouvrir_fichier($repertoire,$fichier);
echo $fichier_lol5->contenu;
 
?>


---------------
Il n'y a rien de plus ridicule qu'un médecin qui ne meurt pas de vieillesse.Voltaire.
mood
Publicité
Posté le 06-03-2004 à 17:54:46  profilanswer
 

n°665590
ratibus
Posté le 06-03-2004 à 21:03:21  profilanswer
 

Un .htaccess ne protège que pour accès par HTTP donc la fonction file en accès local (par le système de fichier) fonctionne sans problème

n°665643
magooo
Posté le 06-03-2004 à 21:55:13  profilanswer
 

Merci pour ta réponse. Cette fois je comprend mieux pourquoi ça ne fonctionnait pas.
Maintenant, j'ai deux questions :
- est-t-il possible d'autoriser un site et un seul pour avoir acces via HTTP à un repertoire ?
-Si non, comment peut-on autoriser un site défini avoir acces à un repertoire d'un autre site? Existe-til une fonction de PHP que je ne connaitrais pas ou que je ne comprendais pas?
 
Merci encore pour vos lumières ;-)

n°665647
ratibus
Posté le 06-03-2004 à 22:00:25  profilanswer
 

dans les .htaccess tu peux autoriser

  • un utilisateur
  • un groupe d'utilisateur
  • une IP
  • un groupe IP
  • ...


en fait tu utilises 2 modules d'Apache


Message édité par ratibus le 06-03-2004 à 22:05:53

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  htaccess et acces par les scripts impossible?

 

Sujets relatifs
protection d'images par htaccess et proxyStockage dans fichiers textes, droits d'accès
htaccess protège mon dossier mais pas l'urlApache2 et htaccess
[PostNuke] Impossible de créer la base de données.Impossible de me connecter sur ma base MySQL
[PHP-GD] Impossible de sauver l'image[Free] impossible d'utiliser les sessions
probleme de requete sous acces 2002[WAS] impossible de faire un upload (multipart/form-data)
Plus de sujets relatifs à : htaccess et acces par les scripts impossible?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR