Probléme de sécurité
All
-
Profil bloqué -
Profil bloqué -
Bonjour,
Je bricolé un petit site web ou je peut ajouté des news. Je pensais l'avoir sécurisé mais des robot arrive a ajouté des news eu aussi. voici mon code.
Pouvez vous aidé SVP ????
Admin.php
ajoutnews.php
logdb.php
Je bricolé un petit site web ou je peut ajouté des news. Je pensais l'avoir sécurisé mais des robot arrive a ajouté des news eu aussi. voici mon code.
Pouvez vous aidé SVP ????
Admin.php
<?php session_start(); if(isset($_SESSION['pseudo'])) { Echo '<a>Bonjour </a>'; echo $_SESSION['pseudo']; echo '</br>'; echo '<a href="../scripts/php/deco.php">Deconection</a>'; echo '</br>'; echo '<a href="home.html">Home</a>'; echo ' </br></br></br> <a>News</a> </br> <FORM method="POST" action="../scripts/php/ajoutnews.php"> <P>Titre:<br> <INPUT type="text" name="titre" size=30> </p> <P>Numero:<br> <INPUT type="text" name="nbnews" size=30> </p> <P>Contenu:<br> <INPUT type="text" name="contenu" size=30> </p> <INPUT type="submit" value="Ajouter la News"> </form> '; } else echo' <a href="home.html">Home</a> </br> <FORM method="POST" action="../scripts/php/actionlog.php"> <P>Login<br> <input type="text" name="login" value="" size="20" id="login"/> <br> </p> <P>Mot de passe<br> <input type="password" name="mdp" value="" size="20" MAXLENGTH="15" id="mdp"/> </p> <INPUT type="submit" value="connection"/> </FORM> '; ?>
ajoutnews.php
<?php include('logbd.php'); $jour=date(d); $mois=date(m); $annee=date(Y); $heure=date(H); $minute=date(i); $titre=$_POST['titre']; $contenu=$_POST['contenu']; $nbnews=$_POST['nbnews']; mysql_query ("INSERT INTO news VALUES ('', '$jour', '$mois', '$annee', '$heure', '$minute', '$titre', '$contenu', '$nbnews')"); echo '<a>La news a bien ete ajouter.</a>'; echo '<meta http-equiv="refresh" content="2; URL=../../pages/admin.php">'; ?>
logdb.php
<?php mysql_connect("adresse", "login", "mdp"); mysql_select_db("mdp"); ?>
A voir également:
- Probléme de sécurité
- Question de sécurité - Guide
- Votre appareil ne dispose pas des correctifs de qualité et de sécurité importants - Guide
- Mode securite - Guide
- Clé de sécurité windows 10 gratuit - Guide
- Url masquée pour votre sécurité - Forum Programmation
7 réponses
Salut,
Il faut aussi faire la vérification isset() dans le fichier ajoutnews.php (et aussi le session_start() )
La pensée mène le monde.
Il faut aussi faire la vérification isset() dans le fichier ajoutnews.php (et aussi le session_start() )
La pensée mène le monde.
Comme tu le fais dans Admin.php :
<?php session_start() if(isset($_SESSION['pseudo'])) { // Connecté } else { // Interdit } ?>
Ha ok merci ?. Et après cela serra top en sécurité ou il y a d'autre problème ? Mon code te semble t'il bien pensé ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il y a encore la faille CSRF.
« Mon code te semble t'il bien pensé ? »
Il y a moyen d'améliorer pas mal de point.
Une liste non-exhaustive au premier regard :
- Utiliser PDO à la place des fonctions mysql_...
- Pour la date, utiliser un seul champ contenant le timestamp ou la date au format anglais. (cf. ici).
- Utiliser une architecture MVC
« Mon code te semble t'il bien pensé ? »
Il y a moyen d'améliorer pas mal de point.
Une liste non-exhaustive au premier regard :
- Utiliser PDO à la place des fonctions mysql_...
- Pour la date, utiliser un seul champ contenant le timestamp ou la date au format anglais. (cf. ici).
- Utiliser une architecture MVC
je vais regardé sa de prés, je suis encore novice en webmastering et le tu me parle un peut chinois.
Bonjour,
Une solution simple, vous rajoutez un champ qui sera invisible à l'affichage. Par exemple, l'age du contributeur:
<INPUT type="text" name="age" class='monAge'>
et le css associé à monAge:
.monAge {
display: none;
}
Résultat: ce champ ne s'affichera pas.
Mais un crétin d'automate spammeur verra ce champ qui n'est pas de type hidden et le remplira.
A la validation du message, si $_POST['age'] contient kékechose, hop => poubelle direct!
Efficacité? Très très efficace... Mis en application sur de nombreux sites perso et pros et plus d'emmerdeurs....
A+
Une solution simple, vous rajoutez un champ qui sera invisible à l'affichage. Par exemple, l'age du contributeur:
<INPUT type="text" name="age" class='monAge'>
et le css associé à monAge:
.monAge {
display: none;
}
Résultat: ce champ ne s'affichera pas.
Mais un crétin d'automate spammeur verra ce champ qui n'est pas de type hidden et le remplira.
A la validation du message, si $_POST['age'] contient kékechose, hop => poubelle direct!
Efficacité? Très très efficace... Mis en application sur de nombreux sites perso et pros et plus d'emmerdeurs....
A+