Jump to content

DarkStar

Email Invalide
  • Content Count

    9
  • Joined

  • Last visited

Community Reputation

0 Neutre

About DarkStar

  • Birthday 04/29/1989

Contact Methods

  • Website URL
    http://www.ds-official.com

Profile Information

  • Localisation
    Paris
  1. j'ai pas trouvé d'autres moyens pour éviter les injctions sql. Les fonctions add_shashes() ou mysql_real_escape_string() je les maitrise mal et après j'arrive pas à faire afficher correctement "mon texte" au lieu de \"mon texte\" lorsque je consulte le livre d'or À moins que j'ai pas trouvé l'astuce
  2. Merci de votra aide Finalement j'ai opté pour la fonction str_replace. Comme ca je maitrise bien les transformations (j'ai fait plusieurs essais et j'ai vérifié le contenu de ma table pour vérifier que la fonction transforme correctement le texte posté par le formulaire.) Donc grâce à str_replace, j'ai fait les transformations suivantes : POST du formulaire (je poste ceci) Votre texte <texte> "texte" 'texte' Votre texte ENREGISTREMENT mySQL (ça écrit ceci dans la base de données) Votre texte <texte> "texte" 'texte' Votre texte Renvoi des données sur la page du Livre d'Or (HTML 4.01 Transitional, encodage ISO 8859-1) On voit ça (source html): Votre texte <texte> "texte" 'texte' <br> <br>Votre texte On voit ça (visible): Votre texte <texte> "texte" 'texte' Votre texte Voilà, j'espère que ca servira pour d'autres qui veulent faire un formulaire
  3. Bonjour à tous, j'ai programmé un Livre d'Or Mais je rencontre plein de soucis ! Lorsque que je laisse un message, le formulaire est soumis et ajoute une ligne dans une table mySQL parmi ses colonnes, celle du message, format text (65535). Mais pour éviter les injections SQL et les balises html j'ai voulu remplacer < par &lt;, < par &qt; et " par &quot;. Comment remplacer aussi l'apostrophe ' car il n'y a pas d'équivalent en codage utf-8, et les retours à la ligne par le clavier (touche entrée ) peuvent pas êttre remplacés par <br />. Je me suis emmêlé les pinceaux dans ce script et qqn pourrait-il m'éclairer pour faire toutes ces fonctions à la fois sans aucun conflit ? Voilà mon script, vous pouvez le tester et reporter les failles que vous trouvez sur ce forum http://ados-life.titi-serveur.net/01/index...ESC&start=0 les messages présents sont des tests lol
  4. bonjour à tous, ayant sur mon site un formulaire de contact php (class email), je souhaiterais obtenir la solution pour ajouter une petite phrase ou une variable dans le corps du mail qui me sera envoyé script php de contact (tout est fonctionnel et parfait mais ce qui m'interesse c'est la ligne d'envoi indiqué dans le code) <?PHP $admin_mail = "picaval008_AT_yahoo.fr"; class email { var $dest = "bigbug"; var $from = "bigbug"; function email ($from, $dest){ if (!empty($dest) && !empty($from)){ $this->dest = $dest; $this->from = $from; }else{ echo "Erreur : Le destinataire ou/et l'expéditeur n'ont pas été définis."; exit; } } function resetm($from, $dest){ if (!empty ($dest) && !empty ($from)){ $this->dest = $dest; $this->from = $from; }else{ echo "Erreur : Le destinataire ou/et l'expéditeur n'ont pas été définis."; exit; } } function add ($dest, $reset = '0'){ if (!empty ($dest)){ if ($reset){ $this->dest = $dest; }else{ $this->dest .= ",$dest"; } }else{ echo "Erreur : Aucun nouveau destinataire défini."; } } function send ($sujet, $message, $HTML = '0'){ if (!empty ($sujet) && !empty($message)){ if (!$HTML){ $from = "From: ".$this->from."\r\n"; }else{ $from = "From: ".$this->from."\r\n"; $from .= "Content-Type: text/html; charset=us-ascii\r\n"; } _AT_mail ($this->dest, $sujet, $message, $from) or die ("Erreur : Impossible d'envoyer l'email."); }else{ echo "<div align=\"center\"><font face=\"Verdana\" size=\"1\" color=\"#505050\"><br><br><br><br><br><br><br><br><br><br><br><br>Veuillez remplir les champs <u>Sujet du message</u> et/ou <u>Message</u>.</font></div>"; exit; } } } if(isset($_POST['mail']) && isset($_POST['from']) && isset($_POST['sujet'])){ $is_mail = preg_match("!^[a-z0-9_.-]{1,}@[a-z0-9_.-]{2,}\.[a-z]{2,4}$!", $_POST['from']); if($is_mail==TRUE){ $mail = new email($_POST['from'], $admin_mail); //------------------------debut ligne d'envoi--------------------------- $mail->send($_POST['sujet'], $_POST['mail']); //------------------------fin ligne d'envoi--------------------------- echo " <div align=\"center\"><font face=\"Verdana\" size=\"1\" color=\"#505050\"><br><br><br><br><br><br><br><br><br><br><br><br>E-mail envoyé avec succès. Merci de nous avoir contacté.<br><br><img alt=\"\" border=\"0\" src=\"mm/imna/smiley_merci.gif\"></font></div>"; }else{ echo " <div align=\"center\"><font face=\"Verdana\" size=\"1\" color=\"#505050\"><br><br><br><br><br><br><br><br><br><br><br><br>Ceci n'est pas une adresse e-mail valide.</font></div>"; } }else{} ?> je n'arrive pas à modifier la ligne d'envoi qui me permettrait de rajouter une variable (heure, date par ex.) en plus du corps de l'email.... voici le formulaire html (aucun problème à ce niveau, les champs sont des noms suivants : from, sujet, mail, ce qu'on retrouve dans le script php) <form name=\"form1\" method=\"post\" action=\"contact.php\" target=\"_blank\"> <table style=\"width: 625px; height: 234px;\" class=\"crow\" cellspacing=\"0\" cellpadding=\"0\"> <tr> <td width=\"180\"><div align=\"right\"><span style=\"font-family: Verdana; color: rgb(60, 60, 60); font-weight: bold;\"><font size=\"1\">Votre adresse e-mail : </font></span></div></td> <td width=\"225\"><div align=\"center\"><input style=\"WIDTH: 210px; HEIGHT: 19px\" name=\"from\" type=\"text\" value=\"\"></div></td> </tr> <tr> <td width=\"180\"><div align=\"right\"><span style=\"font-family: Verdana; color: rgb(60, 60, 60); font-weight: bold;\"><font size=\"1\">Sujet du message : </font></span></div></td> <td width=\"225\"><div align=\"center\"><input style=\"WIDTH: 210px; HEIGHT: 19px\" name=\"sujet\" type=\"text\" value=\"\"></div></td> </tr> <tr> <td colspan=\"2\"><div align=\"center\"><span style=\"font-family: Verdana; color: rgb(60, 60, 60); font-weight: bold;\"><font size=\"1\">Message :</font></span><br> <textarea cols=\"38\" rows=\"4\" name=\"mail\"></textarea> </div></td> </tr> <tr> <td colspan=\"2\"><div align=\"center\"> <input type=\"submit\" name=\"Submit\" value=\"Envoyer l'e-mail\"> </div></td> </tr> </table> </form> je vous remercie d'avance
  5. DarkStar

    Problème de logs

    ah au fait j'ai du nouveau, en réalité je ne peux pas faire un log chez free car ils ne permettent pas de modifier les permissions. J'ai donc décidé d'héberger le logs.txt là ou c'est possible d'écrire dessus (ifrance.com pae exemple devrait faire l'affaire) j'ai enlevé la première ligne de code comme a dit remi. maus est-ce aussi facile ? d'ailleurs ca ne marche toujours pas car le fichier reste vide même apère les nombreuses exécutions du script :/ voici le dernier fichier log.php, celui ci étant sur free <?php function MajLog() { $ref = ""; $user = ""; $agent = $_SERVER['HTTP_USER_AGENT']; $uri = $_SERVER['REQUEST_URI']; if (isset($_SERVER['PHP_AUTH_USER'])) $user = $_SERVER['PHP_AUTH_USER']; $ip = $_SERVER['REMOTE_ADDR']; if (isset($_SERVER['HTTP_REFERER'])) $ref = $_SERVER['HTTP_REFERER']; $dtime = date('Y/m/d * g:i:s a'); if($ref == ""){ $ref = "None"; } if($user == ""){ $user = "None"; } $entry_line = "$dtime * $ip * $agent * $uri * $ref * $user"; $fp = fopen("http://*******.ifrance.com/logdir/logs.txt", a); fputs($fp, $entry_line); fputs($fp, "\n"); fclose($fp); } ?>
  6. DarkStar

    Problème de logs

    dans un client ftp (j'utilise FileZillz mais aussi parfois cuteftp mais c'est rare) dans filezilla je change les attributs du fichier, je mets 777 mais j'arrive pas, quand je regarde encore une fois le chmod c'est toujours 644 ( -rw-r--r-- )
  7. DarkStar

    Problème de logs

    ah oui j'ai aussi oublié de préciser que je suis sur serveur free et donc les serveurs apache ne prennent pas en compte la fonction CHMOD contrairement aux serveurs Linux. Je me suis rendu compte en essayant de chmoder logs.txt en 777 et ca marchait pas. Est-ce important ?
  8. DarkStar

    Problème de logs

    tout est vérifié.. j'ai mis sur ma page index.php <?php include("mm/log.php"); ?> et dans le répertoire mm il y a log.php qui contient le code que j'ai mis au début du sujet. Je le rappelle ici : J'ai également créé logs.txt dans le dossier mm comme indique dans ce même code. Mais rien n'y fait <?php function MajLog(); ?> <?php function MajLog() { $ref = ""; $user = ""; $agent = $_SERVER['HTTP_USER_AGENT']; $uri = $_SERVER['REQUEST_URI']; if (isset($_SERVER['PHP_AUTH_USER'])) $user = $_SERVER['PHP_AUTH_USER']; $ip = $_SERVER['REMOTE_ADDR']; if (isset($_SERVER['HTTP_REFERER'])) $ref = $_SERVER['HTTP_REFERER']; $dtime = date('Y/m/d * g:i:s a'); if($ref == ""){ $ref = "None"; } if($user == ""){ $user = "None"; } $entry_line = "$dtime * $ip * $agent * $uri * $ref * $user"; $fp = fopen("logs.txt", "a"); fputs($fp, $entry_line); fputs($fp, "\n"); fclose($fp); } ?>
  9. DarkStar

    Problème de logs

    bonjour, j'ai trouvé un script qui me permet de recueillie la date et l'heure des visites sur mon site. j'ai trouvé le script suivant mail il ne marche pas même si j'ai créé le fichier vierge LOGS.TXT cela nécessite-t-il une base de donnée ? <?php function MajLog(); ?> <?php function MajLog() { $ref = ""; $user = ""; $agent = $_SERVER['HTTP_USER_AGENT']; $uri = $_SERVER['REQUEST_URI']; if (isset($_SERVER['PHP_AUTH_USER'])) $user = $_SERVER['PHP_AUTH_USER']; $ip = $_SERVER['REMOTE_ADDR']; if (isset($_SERVER['HTTP_REFERER'])) $ref = $_SERVER['HTTP_REFERER']; $dtime = date('Y/m/d * g:i:s a'); if($ref == ""){ $ref = "None"; } if($user == ""){ $user = "None"; } $entry_line = "$dtime * $ip * $agent * $uri * $ref * $user"; $fp = fopen("logs.txt", "a"); fputs($fp, $entry_line); fputs($fp, "\n"); fclose($fp); } ?> Je vous remercie de m'aider ;)
×
×
  • Create New...