|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Reécriture - sécurité [ Divers / Débutant(e) ] (matty30)
Informations & options pour cette discussion
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é 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
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|