Mickeyland


 
AccueilAccueil  PortailPortail  Tchat  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  GroupesGroupes  ConnexionConnexion  Site  

Partagez | 
 

 Amélioration possible?(PHP)livre d'or

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
polplus
Débutant
Débutant
avatar

Masculin
Nombre de messages : 25
Age : 24
Localisation : Marseille
Loisirs : Escalade, velo, ordi (bcp), potes!!
Date d'inscription : 01/11/2008

MessageSujet: Amélioration possible?(PHP)livre d'or   Ven 14 Nov 2008 - 13:19

Bonjours a tous et toutes!!
Voila j'ai honteusement pompée un livre d'or sur internet mais j'aimerai qu'il ait un peu de sécurité!
Voici ma requête:
J'aimerai que ma page PHP envoie a ma base de donné l'ip de la personne et que si le meme jours le meme utilisateur cherche a poster a nouveau il ne puisse pas! ce qui limiterai un certain nombre de rigolos a poster n'importe quoi!Meme si des utilisateurs utilisent des ip dynamique tant pis!
Voila je vous envoie le code et j'espère que quelqu'un pourra m'aider!
Merci
Code:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  <head>
      <title>Livre d'or</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 
        <style type="text/css">
        form, .pages
        {
            text-align:center;
        }
        </style>
    </head>
    <body>
 
    <form method="post" action="livreor.php">
        <p>Mon site vous plaît ? Laissez-moi un message !</p>
        <p>
            Pseudo : <input name="pseudo" /><br />
            Message :<br />
            <textarea name="message" rows="8" cols="35"></textarea><br />
            <input type="submit" value="Envoyer" />
        </p>
    </form>
 
    <p class="pages">
 
<?php
mysql_connect("", "", "");
mysql_select_db("");
 

 
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
    $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
    $message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
    $message = nl2br($message);
 
   
    mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
}
 

// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 20; // Essayez de changer ce nombre pour voir :o)

$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];

$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);

echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
 
</p>
 
<?php
 
 

 
if (isset($_GET['page']))
{
        $page = $_GET['page'];
}
else
{
        $page = 1; // On se met sur la page 1 (par défaut)
}
 
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
 
while ($donnees = mysql_fetch_array($reponse))
{
        echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
}
 
mysql_close();
?>
 
</body>
</html>
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://pagesperso-orange.fr/polplus
ryo hazuki
Modérateur
Modérateur
avatar

Masculin
Nombre de messages : 710
Age : 32
Localisation : omniscient
Date d'inscription : 05/01/2007

MessageSujet: Re: Amélioration possible?(PHP)livre d'or   Ven 14 Nov 2008 - 16:07

hum bah a priori c'est pas trop compliqué
faut que dans ta base de donnée tu ajoute 2 champs :
- un avec l'ip
- l'autre avec la date du jour

Après lorsque la personne appui sur envoyer tu récup l'ip et la date en cour.
(sachant qu'il existe des fonctions très simple pour récup ça en PHP)
Dans un premier temps tu lit tous ce qui a été posté le jour. et apres tu test si un des champs IP est identique.
Si rien ne corresponds, tu insères ça dans ta BdD et tu passes à l'affichage.

Voila pour la théorie ^^

_________________


Dernière édition par ryo hazuki le Ven 14 Nov 2008 - 17:41, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
polplus
Débutant
Débutant
avatar

Masculin
Nombre de messages : 25
Age : 24
Localisation : Marseille
Loisirs : Escalade, velo, ordi (bcp), potes!!
Date d'inscription : 01/11/2008

MessageSujet: Merci   Ven 14 Nov 2008 - 17:38

Ok, merci!
Je suis désoler mais je viens de commencer le php hier donc je suis vraiment nul dans ce langage est ce que tu pourrai m'aider a décortiquer le problème car je pense que je vais avoir bcp de mal a le faire!
Du style les tables dans myphpadmin je dois mettre quoi en option INT? primaire?
Bon en tous cas merci pour ton aide a m'aide deja bcp!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://pagesperso-orange.fr/polplus
ryo hazuki
Modérateur
Modérateur
avatar

Masculin
Nombre de messages : 710
Age : 32
Localisation : omniscient
Date d'inscription : 05/01/2007

MessageSujet: Re: Amélioration possible?(PHP)livre d'or   Ven 14 Nov 2008 - 17:47

je suppose que quand tu dis option, tu parles du type des champs.

INT correspond à entier, c'est a dire un nombre, donc en général tu t'en sert pour le champ ID (indice ou numéro de ligne).

Après pour le reste, la plupart du temps tu vas utiliser le TYPE texte c'est ce qui a de plus simple a traiter.
Et si tu veux, tu peux mettre un type DATE pour la date lol, mais c'est pas non plus une super nécessité selon ce que tu fais.

Voila si t'as d'autres questions je suis là ^^

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
polplus
Débutant
Débutant
avatar

Masculin
Nombre de messages : 25
Age : 24
Localisation : Marseille
Loisirs : Escalade, velo, ordi (bcp), potes!!
Date d'inscription : 01/11/2008

MessageSujet: ok   Ven 14 Nov 2008 - 17:50

ok merci je pense que je vais t'occuper^^(dis moi si je t'embête par contre)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://pagesperso-orange.fr/polplus
polplus
Débutant
Débutant
avatar

Masculin
Nombre de messages : 25
Age : 24
Localisation : Marseille
Loisirs : Escalade, velo, ordi (bcp), potes!!
Date d'inscription : 01/11/2008

MessageSujet: Re: Amélioration possible?(PHP)livre d'or   Ven 14 Nov 2008 - 17:52

Pour date par exemple comment je lui dit de mettre la date d'aujourd'hui?
merci
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://pagesperso-orange.fr/polplus
Invité
Invité
avatar


MessageSujet: re   Ven 14 Nov 2008 - 22:28

plop

verifier que pas de double postage,

verifier que l user n utilise pas un proxy

et pr la date et l heure :

Code:

$localtime = localtime();
$localtime_assoc = localtime(time(), 1);
$localtime_assoc['tm_mon']++;
$localtime_assoc['tm_year'] = $localtime_assoc['tm_year']  + 1900 ;
$timer = $localtime_assoc['tm_mday']."/".$localtime_assoc['tm_mon']."/".$localtime_assoc['tm_year']." à ".$localtime_assoc['tm_hour']."H".$localtime_assoc['tm_min'];

apres, rajouter un mail permet de "verifier" que ce n est pas un bot Smile

si tu as un forum lié a ton site, utiliser la db de ton fofo pr mettre l avatar de la personne et preremplir les champs

bisous

Séb
Revenir en haut Aller en bas
polplus
Débutant
Débutant
avatar

Masculin
Nombre de messages : 25
Age : 24
Localisation : Marseille
Loisirs : Escalade, velo, ordi (bcp), potes!!
Date d'inscription : 01/11/2008

MessageSujet: ok   Dim 16 Nov 2008 - 22:32

Ok merci j'ai reussit, a finir mon livre d'or!
Merci a vous deux et je vais creer un nouveau poste pour d'aider des personnes qui n'y arriverai pas!!Merci bcp!!
Par contre pour les bots j'aimerai mettre une image de securité mais je sais pas comment faire vous savez?Merci de votre aide!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://pagesperso-orange.fr/polplus
Invité
Invité
avatar


MessageSujet: re   Jeu 20 Nov 2008 - 14:51

re

en aucun cas, tu ne peux savoir si un visiteur est un bot, car on peux toujours masquer son useragent.

tu peux limiter les risques en nommant les varables de tes $_ par d autres choses que des classiques

ex : pass ou password peux devenir sdwflsqdfls

et ainsi de suite pour l utilisateur, cela ne change rien, pour toi, c est juste un peu plus galere a coder mais rien de bien mechant,

apres, rien ne t empeche d essayer de coder ca via useragent, mais bon, voici un simple exemple de programme tcl qui se fait passer pour un client tres connu :

Code:
variable client "Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.10) Gecko/20071115 Iceweasel/2.0.0.10 (Debian-2.0.0.10-0etch1)"

dans le seul but de recuperer des flux rss et de les afficher sur des channels irc.

cordialement

Séb
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Amélioration possible?(PHP)livre d'or   

Revenir en haut Aller en bas
 
Amélioration possible?(PHP)livre d'or
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Livre d'or
» Mon livre de cuisine
» Lire livre audio
» Un livre avec les pages qui tournent
» Bouygues vous permet de réaliser votre livre d'or "social"...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Mickeyland :: Programmation :: Langage Web :: PHP/HTML-
Sauter vers: