Accueil > Forum > > > > Reécriture - sécurité
Reécriture - sécurité
jeudi 15 juin 2006 à 22:11:15 |
Reécriture - sécurité

matty30
|
Bonjour tout le monde, Je cherche à sécuriser mon site web afin que personne ne puisse accéder directement aux répertoires internes. En effet, dans la barre d'adresses, les paramètres passés en arguments sont du type : repertoire/sous repertoire/photo n° ... comment puis-je m'y prendre J'ai commencé à m'interesser à la ré écriture d'url via htaccess mais j'ai l'impression que ca ne résoudra pas mon problème vu que j'aimerais que ce soit "repertoire/sous repertoire" qui ne soient pas visibles. merci pour votre aide. bonne soirée
|
|
vendredi 16 juin 2006 à 02:52:13 |
Re : Reécriture - sécurité

audayls
|
Salut,
-> Si j'ai bien compris tu as une url un peu comme çà : "repertoire/sous repertoire/photo.jpg" -> Tu pourrais utiliser l'URL Rewriting pour que cela donne "12/photo.jpg" (le 1 correspond aux répertoires et le 2 aux sous répertoires)
Par exemple : Tu choisis que le répertoire "janvier" devienne 1 et que le sous-répertoire "vacances" devienne 5, alors tu met ce code dans un fichier ".htaccess" : "Options +FollowSymlinks RewriteEngine On RewriteRule 15/photo.jpg janvier/vacances/photo.jpg [L]" et l'url "15/photo.jpg" donnera pas une erreur 404 mais redirigera sans que le visiteur le sache vers "janvier/vacances/photo.jpg"
|
|
vendredi 16 juin 2006 à 10:26:52 |
Re : Reécriture - sécurité

matty30
|
salut,
Oui, merci pour ta réponse, c'est bien ça.  Seulement, la photo s'affiche dans une nouvelle page quand on clique sur sa miniature, et j'aimerais donc modifier l'URL de cette nouvelle page. Je me demandais si plutôt je dois écrire le .htaccess de cette manière, car à ce jour, ca ne fonctionne toujours pas :
RewriteRule ^15/([0-9]+).jpg$ fichier.php?img=janvier/vacances/$1.jpg [L]merci a+
|
|
samedi 17 juin 2006 à 03:22:23 |
Re : Reécriture - sécurité

audayls
|
ReSalut, Fais un " .htaccess" comme ceci : " Options +FollowSymlinks RewriteEngine On RewriteRule P15/photo.jpg fichier.php?img=15/photo.jpg [L] RewriteRule 15/photo.jpg janvier/vacances/photo.jpg [L]" ( le "P" devand le "15" c'est pour "Preview" mdr) Et mets cela dans ton "fichier.php" qui va afficher les images en taille réelle : "<?php if (isset($_GET['img'])) { $urlimage = dirname($_SERVER['PHP_SELF']); $urlimage .= '/'.$_GET['img']; echo '<img src="',$urlimage,'" alt="" />'; } else header('Location: index.php'); ?>"
|
|
samedi 17 juin 2006 à 12:16:59 |
Re : Reécriture - sécurité

matty30
|
Salut, Ca ne fonctionne toujours pas ... Mais maintenant que j'ai bien compris le fonctionnement des fichiers htaccess  , mais je compte perséverer avec cette histoire quand même !! Autre petite question : je vois que tu ne met pas les symboles ^ et $ de début et fin de chaine dans ton htaccess; sont-ils facultatifs ? merci ++
|
|
samedi 17 juin 2006 à 12:25:25 |
Re : Reécriture - sécurité

audayls
|
ReSalut, Qu'es qui ne fonctionne pas ? J'ai testé chez moi en local est tout fonctionne pourtant ... Pour les "^" et autres symboles, il sont expliqués sur cette page : [ Lien ]
|
|
samedi 17 juin 2006 à 12:56:04 |
Re : Reécriture - sécurité

matty30
|
Hello ! En fait, petit retour en arrière de ma part car là j'ai voulu commencer par la fin plutot que par le début ! Voilà, plutôt de vouloir cacher toute l'url et étant donné que je n'y arrivais pas, je me suis rabatue à vouloir simplement caché le répertoire; je t'explique : - un menu présent à gauche sur mon site (bon ok, on s'en fiche qu'il soit à gauche ou à droite  ) permet de sélectionner l'album photo en question. - donc quand on clique sur un de ses items, on arrive sur l'album photo sélectionné (ex : janvier), qui contient des sous galleries : (ex : vacances ) et à ce niveau là, on a un url du type : http://mon-pc/rep-du-script/janvier/main.php- ensuite, quand on clique une sous gallerie (ex : vacances), la page s'actualise et présente les photos en miniatures; l'url est du type : http://mon-pc/rep-du-script/janvier/main.php?dir=/vacances et donc déjà à ce niveau, j'aimerais pouvoir "cacher" le répertoire vacances ou le renommer comme tu l'avais suggéré en le nommant par un chiffre ou autre. Et donc, mon htaccess présent dans le répertoire janvier (d'ailleurs j'ai un doute si je dois le mettre dans janvier ou vacances) a cette forme : Options +FollowSymlinks RewriteEngine On RewriteRule ^autrenom$ main.php?dir=/vacances [L]
et déjà à ce niveau, l'url ne change pas ... voilà, j'espere que je ne t'ai pas trop embrouillé avec mon blabla ... merci à toi ++
|
|
samedi 17 juin 2006 à 19:31:31 |
Re : Reécriture - sécurité

audayls
|
J'ai peut-être ce qui te faut !  -->> Créer un fichier " index.php" avec ce code : " <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>URL Rewriting</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" /> <script type="text/javascript"> <!-- window.onload=montre; function montre(id) { var d = document.getElementById(id); for (var i = 1; i<=10; i++) { if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';} } if (d) {d.style.display='block';} } //--> </script> <style type="text/css"> <!-- /* CSS issu des tutoriels http://css.alsacreations.com */ body { margin: 0; padding: 0; background: white; font: 80% verdana, arial, sans-serif; } dl, dt, dd, ul, li { margin: 0; padding: 0; list-style-type: none; } #menu { position: absolute; top: 0; left: 0; } dl#menu { width: 15em; } dl#menu dt { cursor: pointer; margin: 2px 0;; height: 20px; line-height: 20px; text-align: center; font-weight: bold; border: 1px solid gray; background: #ccc; } dl#menu dd { border: 1px solid gray; } dl#menu li { text-align: center; background: #fff; } dl#menu li a, dl#menu dt a { color: #000; text-decoration: none; display: block; border: 0 none; height: 100%; } dl#menu li a:hover, dl#menu dt a:hover { background: #eee; } --> </style> </head> <body> <dl id="menu"> <dt onclick="javascript:montre('smenu1');">Jeux</dt> <dd id="smenu1"> <ul> <li><a href="10/main.php">Dossier Jeux</a></li> <li><----------></li> <li><a href="11/main.php">Worms</a></li> </ul> </dd> </dl> </body> </html>" -->> Créer un fichier " .htaccess" Puis créer un dossier nommée " Jeux" et mets ce code ( tu appelleras ce fichier "main.php") " <?php function listage($from,$image) { // Fonction de Listage : //$from : Elle represente le dossier réel (trouvé avec dirname($_SERVER['PHP_SELF'])) //$image : si cette variable est égale à TRUE la fonction ne liste que les images sinon elle liste que les dossiers $list = array('.','..'); $e = ''; // On initialise les variables ... $dossier = opendir($from); // On ouvre le dossier while ($fichier = readdir($dossier)) if (!in_array($fichier, $list)) if ($image === FALSE AND is_dir($from.'\\'.$fichier)) { if (empty($nb)) $nb = 11; else $nb++; // La variable "$nb" represente ici le nombre qui est attribué au dossier... $e .= '<font color=#009900><a href="'.dirname($from).'/'.$nb.'/main.php">'.$from.'\\'.$fichier.'</a></font><br />'; // Ici on sort le lien vers la galerie (le dossier trouvé) } elseif ($image === TRUE) { if (!ereg('Thumbs.db',$fichier) AND !ereg('grand',$fichier)) { // On enleve le fichier "Thumbs.db" si il existe et on affiche pas les "grandes" images $url = str_replace('small','grand',$fichier); // On créer une variable "$url" qui representera l'image "grande" $e .= '<a href="'.dirname(dirname($from)).'/'.$_GET['nb'].'/'.$url.'"><img src="'.dirname(dirname($from)).'/'.$_GET['nb'].'/'.$fichier.'" alt="" /></a><br />'; // On affiche la petite image qui sera en même temps le lien vers la grande image } } return $e; } // Si la variable "$_GET['dir']" est vide on affiche les dossiers if (empty($_GET['dir'])) echo listage('../..'.dirname($_SERVER['PHP_SELF']),FALSE);
// Sinon on affiche les images dans le dossier else echo listage('../..'.dirname($_SERVER['PHP_SELF']).'/'.$_GET['dir'],TRUE); ?>" Pour finir tu dois créer un dossier nommée " Worms" et y mettre les images que tu trouvera ici " [ Lien ]". Voilà j'espere que c'était bien çà ...
|
|
samedi 17 juin 2006 à 19:32:31 |
Re : Reécriture - sécurité

audayls
|
Désolé pour le flood le fichier ".htaccess" n'est pas passé ... "Options +FollowSymlinks RewriteEngine On RewriteRule ^10/main.php Jeux/main.php [L] RewriteRule ^11/main.php Jeux/main.php?dir=Worms&nb=11 [L] RewriteRule ^11/small1.jpg Jeux/Worms/small1.jpg [L] RewriteRule ^11/small2.jpg Jeux/Worms/small2.jpg [L] RewriteRule ^11/grand1.jpg Jeux/Worms/grand1.jpg [L] RewriteRule ^11/grand2.jpg Jeux/Worms/grand2.jpg [L]"
|
|
samedi 17 juin 2006 à 20:51:17 |
Re : Reécriture - sécurité

matty30
|
Yes ! c'est bien ça ! Seulement ca marche chez toi  J'ai étudié ton code, à la fin de index.php, tu marques : <li><a href="10/main.php">Dossier Jeux</a></li> <li><----------></li> <li><a href="11/main.php">Worms</a></li>
Ne serait-ce pas pluôt le contraire, genre : <li><a href="Jeux/main.php">Dossier Jeux</a></li> <li><----------></li> <li><a href="Worms/main.php">Worms</a></li>
car après dans ton htaccess, tu fait la correspondance suivante : RewriteRule ^10/main.php$ Jeux/main.php [L]
Enfin, j'ai fait le changement mais ca ne fonctionne pas pour autant.
|
|
Cette discussion est classée dans : sécurité, repertoire, reécriture
Répondre à ce message
Sujets en rapport avec ce message
Sécurité [ par thebigbang ]
Bonjout,Je suis webmaster et je voudrais sécurisé, enfin c'est une facon de parler, un peu plus mon site ...il conmporte un dossier "admin" et lorsque
securite lors d'un upload [ par erich10 ]
j'ai un formulaire pour uploader un fichier dans un repertoire .Pour le faire mon repertoire est en chmod777, comment puis je faire pour interdire l'e
image aleatoire ... sans base de donnée [ par sana72 ]
Bonjour,voile, je dois recharger des images tous les x tempsmes images sont stocké dans un repertoire qui porte le nom du thême et dans ce repertoire,
sous-repertoire fichier ............ [ par TRASH52 ]
TRASH52bon je vous met le code!En fait, je voudrais que mon programme a partir d'u
droit ecriture dans un repertoire [ par pascalcargouet ]
Comment donnee des droit en ecriture/lecture etc .. à un repertoire sous apache/windows(j'ai easy php en local)
mkdir et droits [ par elanspeech ]
salut, dans ma page php, je fais la commande suivante : mkdir ("rep/", 0777); le repertoire est bien cree mais pas avec les bons droits.... j'obtiens
traitement fichiers [ par elanspeech ]
Salut,Dans une page, je passe en parametre un chemin de repertoire.J'aimerais pouvoir faire un remplacement de chaine de caracteres dans tous les fich
balayer un repertoir [ par mogmog ]
salut!je voudrais savoir si il a une commande pour ouvrir un repertoire en chemin absolu!Je cherche a balayer un repertoire, pour recuperer les dates
Lister un répertoire (de manière ordonnée) [ par faiseurdesonges ]
Bonjour, voila j'aimerais lister un répertoire de manière ordonnée, à savoir tout les fichiers du dossier principale puis le premier sous dossier suiv
repertoire [ par Zan ]
salut,existe-t-il des solutions php pour copier un repertoire et son contenu ?merciZan
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|