artmaniak Posté(e) le 23 février 2010 Partager Posté(e) le 23 février 2010 Slt à tous, Un grand merci pour toutes ces explications qui sont même compréhensibles par un débutant. Bonne continuation à vous Artmaniak Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
piwi82 Posté(e) le 29 novembre 2010 Partager Posté(e) le 29 novembre 2010 Ecriture simplifée : switch($page) { case "blog": case "articles": include("include/$page.php"); break; default: print'La page n'existe pas'; break; } Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mephisto Posté(e) le 1 décembre 2010 Partager Posté(e) le 1 décembre 2010 Ecriture simplifée : switch($page) { case "blog": case "articles": include("include/$page.php"); break; default: print'La page n'existe pas'; break; } require_once(), et doubles quotes ou backslash sur la quote, pour le message d'erreur.<br> Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
jotak Posté(e) le 23 mars 2012 Partager Posté(e) le 23 mars 2012 Filtrer la page c'est bien, filtrer tous les paramètres c'est mieux! Perso j'utilise un tableau d'expressions régulières qui définit, pour chaque paramètre, la ou les valeurs qu'il peut prendre. $filters = array( "pageName" => "/^main|editAccount|accountCreated|doDisconnect|newIdea|ideaCreated|showIdeasList|showIdea$/", "langCode" => "/^[A-Z]{2}$/", "country" => "/^[0-9]+$/", "userName" => "/^[\\w-.]{5,16}$/",// don't check for password... and never put it in session "password" => null,//"/^[^\"\'\\\]{5,16}$/", "oldPassword" => null,//"/^[^\"\'\\\]{5,16}$/", "confirmPassword" => null,//"/^[^\"\'\\\]{5,16}$/", "email" => "/^[\\w][\\w-.]*@[\\w][\\w-.]*\\.[a-zA-Z]{2,9}$/", "comment" => "/^[0-9]+$/", "commentText" => "/^.+$/s", "action" => "/^add|remove$/", "userId" => "/^[0-9]{1,7}$/", "activationKey" => "/^[\\w]+$/", "sortMode" => "/^byTitle|byAuthor|byPop$/", "page" => "/^[0-9]+$/");function filterParametersArray($arr) {global $filters;foreach ($arr as $key => $value) { if (isset($_SESSION[$key])) { unset($_SESSION[$key]); } $regexp = $filters[$key]; if ($regexp && preg_match($regexp, $value) > 0) { $_SESSION[$key] = $value; }}}function filterParameters() {// Filter GET parametersfilterParametersArray($_GET);// Filter POST parametersfilterParametersArray($_POST);//...} Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
jotak Posté(e) le 23 mars 2012 Partager Posté(e) le 23 mars 2012 Un autre réflexe à avoir : lorsqu'on écrit dans une base de donnée une chaîne de caractère de provenance non contrôlée (texte utilisateur par exemple) on peut utiliser mysql_real_escape_string pour se protéger des tentatives d'injection. Corollaire de ce qui a été dit plus haut à propos de ne jamais faire confiance à ce qui vient du client : lorsqu'on contrôle la validité des données transmises, par exemple en javascript, provenant d'un formulaire : toujours faire le contrôle également côté serveur, en PHP. Quand on hash un mot de passe, quel que soit l'algorithme utilisé, ne pas négliger de "salter" l'algo. Autrement, le pirate pourra deviner les mots de passes à l'aide de rainbow tables. Et puis, d'accord avec flaidy, le MD5 ça fait un peu faiblard de nos jours... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
AshySlashy Posté(e) le 9 octobre 2015 Partager Posté(e) le 9 octobre 2015 C'est quand même mieux un cryptage moyen que pas de cryptage du tout ! (comme chez Orange qui stocke en clair les mdp...) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.