inserer code pour securiser include

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : inserer code pour securiser include

Re: inserer code pour securiser include

par enneite » 04 août 2009, 22:26

Il te faudrait un code de ce genre avec elseif ou avec un switch si le nombre de page n'est pas trop grand:
if ($_GET['page'] == "accueil1")
{
include("accueil1.php");
}
elseif($_GET["page"]=="accueil2"){
include("accueil2.php");
}
elseif($_GET["page"]=="accueil3"){
include("accueil3.php");
}
else{
die("<h1> PAGE INCONNUE</H1>");

}
le mieux c'est encore de lister les pages si tu n'en as pas trop avec des elseif ou des switch

Le code que tu as pris fait en
1)utilisation d'une expression régulière, qui supprime tout ce qui n'est pas des lettres sans accents (sans prendre en compte la casse des chiffres et des underscore) au cas ou quelqu'un rentrarait à la main un code bizarre, tout les caractères autres que lettres, chiffres et underscore seraient retirer.
$page=preg_replace("/[^a-z0-9_ ]/i", "", $page);


2) Si l'inclusion de la page includes/$pages.php" ne se fait pas (ici $page est une variable, dans le concret elle est remplacée par le parametres de la requete GET) alors on stop le script en renvoyant un message d'erreur.
if(!@include("includes/$page.php"))die("Cette page n'existe pas sur le serveur, merci d'informer le webmaster du site si ce problème venait à se reproduire.");
Cela sert quand le nombre de page devient incommensurable et qu'on ne peut pas les dénombrer toutess.
mais ce bout de code est incompatible si tu veux charger "accueil1.php" avec $_GET["page"]="accueil"

cela marcherait si :
tu veux charger "accueil1.php" avec $_GET["page"}="accueil1"
tu veux charger "accueil2.php" avec $_GET["page"]="accueil2"
tu veux charger "cours.php" avec $_GET["page"]="cours"

car le nom de la page doit être le même que la variable $_GET["page"] suivi de ".php"

inserer code pour securiser include

par annemarie7 » 04 août 2009, 20:08

Bonjour,

j'ai un tableau de 2 colonnes, dans la première colonne j'ai fait des liens en php

<?php
echo '<a href="index2.php?page=cours">COURS</a>';
?>

puis dans la deuxième colonnes j'ai mes includes
<?php
if ($_GET['page'] == "accueil")
{
include("accueil1.html");
}else{
include("accueil1.html");
}

j'ai trouvé un conseil pour sécuriser mes includes avec le code suivant

$page=preg_replace("/[^a-z0-9_ ]/i", "", $page);
if(!@include("includes/$page.php"))die("Cette page n'existe pas sur le serveur, merci d'informer le webmaster du site si ce problème venait à se reproduire.");


mais le probleme c'est que je n'y comprends rien , pourriez vous me dire où mettre ce code dans mes includes merci


Un grand merci pour votre aide