Alors voilà salut tout le monde,
J'ai encore besoin de votre aide car selon un ami mon système de sécurité n'est pas viable... Donc j'aimerais savoir ce que vous, vous en pensez.
PS : sachant qu'il y a une partie d'identification avant cette page qui crypte les mots de passes taper et les fait passer en session.

Merci beaucoup d'avance.

<?php
session_start();
require_once('partimotdepasse.php');
if($_SESSION'pseudo'] == $pseudo && $_SESSION'pass'] == $pass){
    ?>
<a href="deco.php">Se déconnecter</a>
    <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="../core/design.css">
</head>
<body>
    <div id="content">
        <a href="index.php">Retour à la page admin</a><br><br>
        <form action="news.php" method="POST">
            Titre : <input style="width:200px" type="text" name="titre"><br>
            Texte :<br><textarea style="width:500px" name="content"></textarea><br>
            <input type="submit" value="Ajouter une news">
        </form>
<?php
    require_once('../config.php');
    mysql_connect(HOST,LOGIN,PASS);
    mysql_select_db(NAME);
    if(!empty($_POST)){
        $_POST'titre'] = addslashes($_POST'titre']);
        $_POST'content'] = addslashes($_POST'content']);
        $sql = "INSERT INTO news (id, titre, content) VALUES ('', '{$_POST'titre']}', '{$_POST'content']}')";
        $req = mysql_query($sql) or die("ERREUR <br>".mysql_error());
        header("Location: news.php");
    }
    $sql = 'SELECT * FROM news ORDER BY id DESC';
    $req = mysql_query($sql) or die("ERREUR <br>".mysql_error());
        while($data=mysql_fetch_assoc($req)){
                ?>
                <div style="max-height:800px" id="video">
                <a href="#"><?php echo $data'titre'].' -- '.$data'date']. ' -- <a href="edit.php?id='.$data'id'].'"><input type="submit" value="Editer cette news"></a> <a href="delete.php?id='.$data'id'].'"><input type="submit" value="X"></a>'; ?></a><hr><?php echo $data'content']; ?>
                </div>
            <?php
        }
?>
</div>
</body>
<?php
    }else{
    }
?>

1 réponse


wilose
Réponse acceptée

Tu peut appliquer le tuto sur les failles CSRF et tu peut supprimer l'id dans la table news puisqu'il doit être en auto_incrément il est aussi recommandé d'utiliser des requêtes préparées pour éviter les injections SQL.
Sinon pour le W3C, le lien entre <head> et </head> et la ligne 35 tu as "<a><a><input></a><a><input></a></a>".