Bonjour à tous,
j'ai crée un petit site personnel, mais le code php n'est absolument pas sécurisé, mes quelques notions de php sont trop faible pour déterminer comment sécuriser ce code pour éviter le piratage, mon site n'a pas de prétentions particulieres, juste quelques articles à lire, pas plus d'une centaine
j'utilise des pseudo-frames pour éviter de faire un tableau
ce qui donne une URL de ce type :
Hormis des includes, je n'utilise rien d'autre, pas de javascript, pas de session
J'ai lu avec beaucoup d'intérêt les page concernant la sécurité sur
http://www.phpsecure.info
mais j'ai du mal à m'y retrouver pour faire quelque chose de cohérent
alors voici mon code de la page index.php :
<div class="head">
<? include ("haut.php");// mon header
?>
</div>
<div class="gauche">
<? include ("gauche.php"); // mon menu de gauche
?>
</div>
<div class="frame">
<? include ("centre.php"); // les pages du centre
?>
</div>
voici la partie frames2.php :
<? include ("haut.php");?>
<div class="gauche">
<? include ("gauche.php");?>
</div>
<div class="frame">
<?php
if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];
switch($page)
{
case 'service':include ('ser/service.php');break;
case 'service1':include ('ser/service1.php');break;
case 'service2':include ('ser/service2.php');break;
case 'service3':include ('ser/service3.php');break;
case 'service4':include ('ser/service4.php');break;
case 'service5':include ('ser/service5.php');break;
case 'service6':include ('ser/service6.php');break;
case 'service7':include ('ser/service7.php');break;
/* avec encore plein de lignes identiques , toutes mes pages sont dans
un dossier qui contient 3 lettres , exemple : img/ ou ser/
et ensuite, les fichiers numérotés de 1 à 15 en fonction des articles
*/
}
?>
</div>
j'ai lu qu'il fallait ajouter quelques lignes pour ne passer que des fichiers en php
$page = $page.".php"; // Ajout d'une extension .php
if(file_exists($page))
include($page);
else
include("erreur404.php");
j'ai également lu que c'était possible d'interdire des redirections en utilisant des caractères interdits
$page=preg_replace("/[^a-z0-9_ ]/i", "", $page);
if(!@include("includes/$page.php"))die("Cette page n'existe pas sur le serveur.");
/* ou alors un autre exemple */
$page = ereg_replace("/","subk"); // Modification de '/' par 'subk'
$page = ereg_replace("%2f","subk); // Idem mais avec l'equivalent unicode de / (%2f)
Voila, mais je ne sais pas vraiment comment faire pour incorporer ses lignes dans mon script et quelles sont celles qui sont valables pour sécuriser mon code,
d'avance je vous remercie de m'avoir lu, et si possible de m'expliquer clairement ce que j'ai du mal à comprendre !