J'ai pas une grosse XP en php mais j'ai quand même réussi a me débrouiller pour programmé un bouton "favoris" pour mon site mais je stresse a l'idée de le mettre a l'oeuvre car je suis pratiquement sur d'avoir oublier des choses (niveau sécurité) et avant de le mettre en place j'aimerais être sur a 100% qu'il n'est est pas de faille!! Je fais appel a vous
<?php
require_once 'BDD.php';
$userid = intval($_SESSION['user']['id']);
$miniature= htmlspecialchars(addslashes($_GET['b']));
$image = htmlspecialchars(addslashes($_GET['f']));
$username = htmlspecialchars(addslashes($_SESSION['user']['username']));
/* On vérifie que l'image que l'utilisateur souhaite mettre en favoris existe bien sinon c'est redirection */
if(isset($_GET['f'])){
$exist = $DB->query("SELECT image,miniature FROM images WHERE image=:image AND miniature=:miniature",array('image'=>$image,'miniature'=>$miniature));
if(empty($exist)){
header('Location:notfound.php');
exit();
}
/* On vérifie que l'utilisateur n'est pas déjà cette image en favoris si c'est le cas on lui mets un message d'erreur et on le redirige sur la page d'ou il vient */
$cat = $DB->query("
SELECT username,image FROM favoris WHERE image=:image AND username=:username",array('image'=>$image,'username'=>$username));
if(!empty($cat)){
$_SESSION['erreur'] = "Vous avez déjà mis cette image dans vos favoris.";
header('Location:images.php?m='.$_GET['f']);
exit();
}
/* on vérifie que l'utilisateur est logué sinon c'est redirection vers la page de log in */
if(!$_SESSION['user']['username']){
header('Location:login.php');
exit();
}
/* Si toute les conditions sont réunis , on ajoute l'image en favoris dans la bdd et on redirige l'utilisateur vers la page d'où il venait */
else{
$data =array(
'user_id'=>$userid,
'miniature'=>$miniature,
'username'=>$username,
'image'=>$image
);
$sql ="INSERT INTO favoris (username,user_id,miniature,image,date) VaLUES(:username,:user_id,:miniature,:image,NOW())";
$rep = $DB->insert($sql,$data);
$_SESSION['erreur'] = "Cette image a été ajouté a vos favoris";
header('Location:images.php?m='.$_GET['f']);
exit;
}
}
?>
voila un grand merci d'avance a ceux qui prendront le temps de lire et de m'aider, bonne soirée