Bonjour, dernier aide et problème après j'ai fini mon projet d'exam youpiii !
J'ai un site vitrine administrable en crud. Lorsque que je tape monsite.dev/modif je tombe sur mon formulaire de connexion (login + pass). Ici tout vas bien je me connecte et j'arrive sur mon tableau d'administration qui comporte plusieurs pages de modifications (photo, texte etc....)
Mon problème c'est que mon site n'est pas sécurisé. Sans passé par la page de connexion si je fais monsite.dev/modif/modifphoto on atterrit directement sur le formulaire de modification photo sans passé par un pass ou une page bloqué. Facilement piratable.
Je suis complètement bloqué
Voici mon code:
modifphoto.php
Fonction de vérif session, index.php
Modifié par mvc (29 Jun 2017 - 10:30)
J'ai un site vitrine administrable en crud. Lorsque que je tape monsite.dev/modif je tombe sur mon formulaire de connexion (login + pass). Ici tout vas bien je me connecte et j'arrive sur mon tableau d'administration qui comporte plusieurs pages de modifications (photo, texte etc....)
Mon problème c'est que mon site n'est pas sécurisé. Sans passé par la page de connexion si je fais monsite.dev/modif/modifphoto on atterrit directement sur le formulaire de modification photo sans passé par un pass ou une page bloqué. Facilement piratable.
Je suis complètement bloqué
Voici mon code:
modifphoto.php
<?php
require_once('fonctions.php');
if(!empty ($_GET['action']) && ($_GET['action'] == 'delete') && (!empty($_GET['id']))){
deletegalerie();
}
$tailleMax = 1 * 1000000; // 1 mo
$tailleMaxAffichee = $tailleMax." 1 Mo";
// fonction d'upload des flyers
imagegalerie();
// fonction de récupération des flyers
$liste = getGalerie();
if(!empty($_GET["create"]) && $_GET["create"] == "ok") {
echo "<span class='customnewsletter'>Image bien registré !</span>";
}
if(!empty($_GET["supp"]) && $_GET["supp"] == "ok") {
echo "<span class='customnewsletter'>Image bien supprimé !</span>";
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="css/style.css">
<title>Stock d'images</title>
</head>
<body>
<div class="flyerhome">
<h1>ENVOIE IMAGE GALERIE MEDIA</h1>
</div>
<div class="listeconcert"/>
<h2>Images</h2>
</div>
<div class="flyer">
<ul>
<?php
// Liste des images existantes
while($illus = $liste->fetch()):
// Affichage de l'image à chaque tour de boucle
echo "<li>
<img src='http://hardup.dev/modif/uploads/large-".$illus["urlgalerie"]."' alt=''>
<br>
<br>
<a href='http://hardup.dev/modif/modifgalerie.php?action=delete&id=".$illus["idgalerie"]."'>Supprimer l'image</a>
</li>";
endwhile;
?>
</ul>
</div>
Fonction de vérif session, index.php
function verifSession() {
// Si on n'a pas de session ou si $_SESSION["log"] est différent de "OK" ou si le token en Session n'est pas le même que celui généré (vol de session), on déconnecte.
if(!isset($_SESSION["log"]) || $_SESSION["log"] != "OK" || $_SESSION["token"] != generationToken()) {
deconnexion();
}
}
/*
Fonction permettant de générer une signature (token) propre à chaque utilisateur en fonction de variables d'environnement de sa connexion (adresse IP et user Agent).
*/
function generationToken() {
$adresseIP = $_SERVER["REMOTE_ADDR"];
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$token = $adresseIP.$userAgent;
return md5($token);
}
/*
Fonction permettant de déconnecter un utilisateur en supprimant sa session et en vidant les variables liées.
*/
function deconnexion($mess = "prive") {
session_destroy();
$_SESSION = array();
header("location:index.php?mess=".$mess);
exit;
}
Modifié par mvc (29 Jun 2017 - 10:30)