|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2009 Messages : 52 ![]() |
Bonjour a tous, je sais que ce sujet est largement abordé mais j'ai bien du mal a comprendre.
Alors voila dans mon url j'indique de dossier dans le quel mon script doit s’exécuter, et j'utilise donc dans ma page GET afin de récupérer cette indication. Le problème est que l'on peut accéder a la racine de mon serveur en modifiant l'url du coup. Je voudrais donc la sécuriser, mais mes tentatives son vaines ![]() Voulez vous bien m'aider ? Merci. |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() |
Tu peut utiliser la fonction htmlspecialchars
Regarde aussi ce lien y'a pas mal d'infos intéressantes sur la sécurité : http://thierrylhomme.developpez.com/php/php_secure/ |
|
01
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2009 Messages : 52 ![]() |
Merci de ta raiponce rapide, mais mon url est présenté comme ça
index.php?rep=./toto/tata/ donc si une personne fait ça index.php?rep=/ toute la racine de mon serveur est affiché je ne vois pas comment utiliser htmlspecialchars pour parer a ça où sinon une autre approche pour passer de fichier en fichier sans changer de page php ? ![]() Ps : je ne suis pas bon du tout en php, je me limite normalement au coté graphique ![]() EDIT : J'ai trouvé une parade Code :
et j'ai fais un htmlentities tout de même, merci beaucoup. Comme je suis persuadé que c'est pas comme ça que l'on code proprement vous pouvez me conseiller je suis toujours a l'écoute de conseille hein
|
||
|
|
00
|
|
|
#4 | ||
|
Membre du Club
![]() Inscription : mars 2007 Messages : 51 ![]() |
salut papaye0
tu pourrais lister les répertoires "valides" dans un tableau Code :
Code :
if (in_array($_GET['rep'], $validDir)) |
||
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2009 Messages : 52 ![]() |
Effectivement, mais il y a énormément de répertoires et sous répertoires, il faudrait créer un autre script qui les liste, ce qui ralentirait l’exécution de la page et si jamais c'est un script occasionnel qui stockerait la liste genre dans un txt il y a trop de changement de répertoires en une même journée
Mais je garde l'idée, je n'y avais même pas pensé ![]() Merci
|
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : mars 2007 Messages : 51 ![]() |
Tu peux peut-être alors stocker la liste les répertoires interdits...
S'il s'agit uniquement de sous-répertoires de /doc_n/ alors ta solution me parait convenable. |
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2009 Messages : 52 ![]() |
avec une sorte de
Code :
if (in_array($_GET['rep'], != $validDir)) {} |
|
|
00
|
|
|
#8 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2009 Messages : 52 ![]() |
Bon c'est une triste nouvelle mais ma parade ne fonctionne pas totalement son l'on ajoute ".." on remonte toujours
j'ai bien tenté d'interdire l'utilisation de ".." ou l’accès au répertoire parents avec != mais sa me fige tout, je crois que je ne parviens pas a jouter ce bout de code correctement ........... EDIT : Je tente une autre approche avec un if ... pour le moment ça marche bien ".." renvoi a une page vierge pour l'instant, mais si jamais c'est incrusté comme ça "index.php?rep=/8/../../.." retour a la racine du serveur ![]() il y a pas une solution pour que si jamais il y est de présent dans l'url ".." sa active mon if ? EDIT 2 : Bon alors sur ce coup là j'ai trouvé, c'est en regardent le code d'un texte que j'ai eu cette idée a la con Code :
Merci d'avoir pris le temps de m'aider |
||
|
|
00
|
|
|
#9 | |
|
Membre expérimenté
![]() |
Citation:
|
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2009 Messages : 52 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com