Bonjour,
Je m'apprête à mettre en ligne mon nouveau site web et je suis de plus en plus inquiêt en ce qui concerne la sécurité de l'entieretée du site.

Mon site est conçu à partir du phpBB : Templates, Common.php, ...
J'ai cependant élaboré mon propre système de session, voila ce qui m'inquiète.

J'aimerais que vous analysiez mes blocs de code pour voir si faille il y a.

Fichier de vérification :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
<?php
session_start();
 
if(isset($_POST['username']) && isset($_POST['userpassword'])) {
$username = $_POST['username'];
$userpassword = md5($_POST['userpassword']);
if (lookat($username,$userpassword)==TRUE) {
$_SESSION['AUTH'] = TRUE;
$sql = "SELECT * FROM icb_users WHERE Username='".$username."'";
if( !($result = $db->sql_query($sql)) )
{
 die("Erreur -> Requête SQL");
}
if ( $row = $db->sql_fetchrow($result) )
{
 $_SESSION['ID'] = $row['ID'];
 $_SESSION['USERNAME'] = $row['Username'];
 $_SESSION['LEVEL'] = $row['Level'];
 $_SESSION['NOM'] = $row['Nom'];
 $_SESSION['PRENOM'] = $row['Prenom'];
 $_SESSION['ADRESSE'] = $row['Adresse'];
 $_SESSION['VILLE'] = $row['Ville'];
 $_SESSION['PROVINCE'] = $row['Province'];
 $_SESSION['TELFIX'] = $row['TelFix'];
 $_SESSION['TELGSM'] = $row['TelGSM'];
 $_SESSION['EMAIL'] = $row['Email'];
 $_SESSION['DATE'] = $row['Date'];
 
 
 $sql = "INSERT INTO `icb_events` ( `ID` , `Action` , `Concern` , `Time` )
VALUES (NULL, 'Connection', '".$_SESSION['USERNAME']."', '$date_ - $time');";
 @mysql_query($sql);
$db->sql_freeresult($result);
}
header("Location: members_board_index.php");
}
else {
header("Location: login.php");
}
}
?>
Fichier contenant la fonction lookat


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<?php
function lookat($username,$userpassword) {
global $db;
$username_ = mysql_real_escape_string($username);
$userpassword_ = mysql_real_escape_string($userpassword);
$sql = "SELECT * FROM icb_users WHERE Username='".$username_."' AND Password='".$userpassword_."' AND Act='1';";
if( !($result = $db->sql_query($sql)) )
{
header("Location: ../login.php");
}
if ( $row = $db->sql_fetchrow($result) )
{
return TRUE;
}
else{
return FALSE;
}
}
?>
En-tête de chaque fichier à accès réservé :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
session_start();
if($_SESSION['AUTH'] != TRUE) {
header("location: login.php");
}
En vous remerciant d'avance,

Nadd.