Configuration de php sur un serveur

Configuration de php sur un serveur - PHP - Programmation

Marsh Posté le 25-11-2002 à 19:34:40    

Bonjour,
J'ai un probleme a configurer mon serveur php.Le problemes vient des script qui peuvent se balader sur tout mon disc dur comme le include(),le fread() et donc grace a ces commande on peut arriver a acceder a un fichier contenant des mot de passe.
 
Par exemple,j'ai c: /www/site1
ce membre grace a un script peut acceder a c:/windows et effacer des fichier.
 
Comment puis je faire pour que les scripts ne s'execute dans c: /www
 
je voulais savoir aussi,comment interdire que c: /www/membres1 puisse ne pas acceder a c: /www/membres2/password.php ?
 
Ya t'il qqchose dans php.ini a configurer?


Message édité par forummp3 le 25-11-2002 à 23:22:37
Reply

Marsh Posté le 25-11-2002 à 19:34:40   

Reply

Marsh Posté le 25-11-2002 à 20:10:21    

[:rv82]

Reply

Marsh Posté le 25-11-2002 à 20:31:21    

non mais dans le httpd.conf surement non ?

Reply

Marsh Posté le 25-11-2002 à 21:05:57    

- tu dois chrooter (linux) le service web pour qu'il ne puisse pas accéder à ton OS
- tu dois utiliser l'option de configuration  
php_admin_value open_base_dir "/répertoire1: /rep2" # liste des répertoires accessibles
dans httpd.conf si tu as des virtualhost (chaque user à son espace web, donc tu limites chaque user par exemple à son répertoire) ou dans php.ini pour une configuration générale du serveur (ce qui n'est pas ton cas).
- tu devrais passer en safe_mode -> l'uid d'un user n'est plus autorisé à accéder à un fichier qui n'a pas son uid


Message édité par ethernal le 25-11-2002 à 21:07:43

---------------
...oups kernel error...
Reply

Marsh Posté le 25-11-2002 à 23:12:59    

je suis sur windows :/
 
mais ca marche toujours le truc de httpd ?

Reply

Marsh Posté le 25-11-2002 à 23:57:43    

aucune idée, mais évite windows pour faire ça !
 
essaye, le open_base_dir devrait fcter.
Dis moi quoi :)
 
le safe_mode devrait fcter aussi.  n'oublie pas de désactiver les fonctions php système (exec, passthru...) sinon tu vas avoir de sâles blagues.


Message édité par ethernal le 26-11-2002 à 00:11:45

---------------
...oups kernel error...
Reply

Marsh Posté le 26-11-2002 à 22:06:46    

ethernal a écrit a écrit :

aucune idée, mais évite windows pour faire ça !
 
essaye, le open_base_dir devrait fcter.
Dis moi quoi :)
 
le safe_mode devrait fcter aussi.  n'oublie pas de désactiver les fonctions php système (exec, passthru...) sinon tu vas avoir de sâles blagues.




 
je trouve aucun de ces truc dans httpd ni dans php.ini  :??:

Reply

Marsh Posté le 26-11-2002 à 22:10:46    

tu interdits l'execution pour l'IUSR sur tout le disque sauf pour tes sites.

Reply

Marsh Posté le 26-11-2002 à 23:18:29    

Snipe Foo a écrit a écrit :

tu interdits l'execution pour l'IUSR sur tout le disque sauf pour tes sites.




 
et je fais comment ca?

Reply

Marsh Posté le 27-11-2002 à 01:41:24    

forummp3 a écrit a écrit :

 
 
je trouve aucun de ces truc dans httpd ni dans php.ini  :??:  




 
tu dois rajouter l'option (elle n'existe pas par défaut dans httpd.conf)
 
<virtualhost www.tonsite.com/user>
...
php_admin_value open_base_dir "/répertoire1:/rep2"
...
</vistualhost>
 
fais une recherche dans google avec "open_base_dir" pour voir la notation des répertoires sous windows.
 
par contre l'option safe_mode est dans php.ini


Message édité par ethernal le 27-11-2002 à 01:41:47

---------------
...oups kernel error...
Reply

Marsh Posté le 27-11-2002 à 01:41:24   

Reply

Marsh Posté le 27-11-2002 à 08:43:55    

forummp3 a écrit a écrit :

 
 
et je fais comment ca?




 
bouton droit sur le disque dur, prprieté, securité, tu ajoute le user iusr (que tu trouve dans la liste) et tu coche "interdire" pour tous les types d'acces.
 
ensuite sur le repertoire ou tu as tes site (genre wwwroot), tu fais la meme opération, mais là tu autorise l'iusr pour ce que tu veux, en oubliant pas de décocher "hériter des droit du repertoire parent".
 
Mais va jeter un oeil sur le site de jc benamy, il explique mieux :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed