bonjour
pour mon site, je n'ai qu'une seule page : la page index
les autres sont appelées sous la forme
http://www.www/index.php?page=accueil
après je vais chercher dans bdd l'adresse ou se trouve la page a inclure
et elle est incluse un peu plus loin , dans la présentation du site, dans un tableau
pour éviter que des gens mal-intentionnés essayent de passer des codes malveillants, j'ai créé une fonction de protection
je fais un $_GET puis je passe sa dans la fonction qui me retourne la nom de la page "protégé"
puis requête sql ...
voici ma fonction :
qu'en pensez vous ?
si vous pouviez me donner des petites astuces pour augmenter la sécurité de mon site je vous remercie d'avance
note : toutes les variables passées en $_GET et $_POST passent dans une fonction de protection similaire mais qui accepte plus de caractères
$page=$_GET['page']; // on recupere la page desiree
include"......."; // fichier des fonctions
$page=protect1($page);
if(empty($page))
{
$page="index";
}
// puis requête et stratégie de sécurité ( si il faut une session ...
function protect1 ($entree)
{
$entree = str_replace("#", "",$entree) ; // quelques remplacements
$entree = str_replace("<", "",$entree) ;
$entree = str_replace(">", "",$entree) ;
$entree = htmlspecialchars($entree, ENT_QUOTES);
$entree = htmlentities($entree, ENT_QUOTES);
$entree = strtr($entree,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ","AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn");
$entree = substr("$entree", 0, 40); // on coupe a 40 caractères au cas ou
$entree = mysql_real_escape_string($entree);
$entree = stripslashes($entree);
return ($entree);
}
voila
merci bien