Pour le soft c'est exactement ce que je me suis demandé, seulement j'ai fait un premier scan et la majorité des failles étaient effectivement réelles et j'ai comblé ces erreurs, j'ai ensuite fait un second scan et lors de celui-ci les anciennes failles ou j'avais remédié n'apparaissaient plus, il subsistait pourtant 'blind injection sql' au nombre de 5.
Donc c'est la que j'ai pris au sérieux ces résultats et que je me suis mis à chercher une solution.
voici un extrait de mon code, le reste se répète :
Pour la situation ou le GET n'est pas défini non je n'ai rien prévu, et non rien prévu dans le cas ou intval renvoi 0, je 'y avais pas pensé merci pour ces informations, je vais essayer d'y remédier.
Donc c'est la que j'ai pris au sérieux ces résultats et que je me suis mis à chercher une solution.
voici un extrait de mon code, le reste se répète :
Code :
<?php
session_start();
include('connexion_bdd.php');
if(empty($_SESSION['pseudo'])){
$ID_article_selectionne = intval($_GET['ID']);
$ree = 'SELECT MAX(article_ID) AS dernier_article FROM article';
$dee = mysql_query($ree);
$fee = mysql_fetch_array($dee);
$dernier_article = $fee['dernier_article'];
if($ID_article_selectionne > $dernier_article )
{
echo'<script>window.location="index.php";</script>';
}
else{
function get_ip(){
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP'])){
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else{ $ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}$ip = get_ip();
$r = "SELECT * FROM ip WHERE visiteur_ip = '".$ip."'";
$d = mysql_query($r);
$row1 = mysql_fetch_array($d);
//on verifi si l'ip existe deja
if (isset($row1['visiteur_ip'])) {
//si l'ip existe on verifie si le visiteur a deja voter pour l'article
$req_article = "SELECT * FROM ip WHERE visiteur_ip = '".$ip."' AND article_ID = '".$ID_article_selectionne."' ";
$d= mysql_query($req_article);
$row1 = mysql_fetch_array($d);
if (isset($row1['ip_ID'])) {
//si il a deja voter on verifi si sa fai moin de 24h ou plus
$rr = mysql_query("SELECT date_ajout_excelence FROM ip WHERE visiteur_ip = '".$ip."' AND article_ID = '".$ID_article_selectionne."'");
$dd = mysql_fetch_array($rr);
$date_enregistre = $dd['date_ajout_excelence'];
$date_actuelle = time();
$difference = $date_actuelle - $date_enregistre;
if($difference < 86400)
{
//si c'est inferieur a 24h alor on recharge la page et rien ne se passe
echo'<script>window.location="index.php";</script>';
}
else
{
//sinon on prend en compte le vote et on remet la date a l'heure actuelle
$r2 = mysql_query('SELECT excelence FROM article WHERE article_ID = '.$ID_article_selectionne.';');
$d2= mysql_fetch_array($r2);
$nbr_recup = $d2['excelence'];
$nbr_recup_final = $nbr_recup+1;
@mysql_query('Update article SET excelence = '.$nbr_recup_final.' WHERE article_ID = '.$ID_article_selectionne.';');
@mysql_query('Update ip SET date_ajout_excelence = '.$date_actuelle.' WHERE article_ID = '.$ID_article_selectionne.';');
echo'<script>window.location="index.php";</script>';
}
?>
...
Pour la situation ou le GET n'est pas défini non je n'ai rien prévu, et non rien prévu dans le cas ou intval renvoi 0, je 'y avais pas pensé merci pour ces informations, je vais essayer d'y remédier.