Bonjour a tous voila j'ai essayer de mettre en place akismet mais je patauge je suis au bord de la crise de nerf je suis envahie de spam + de 1500 en 1 mois sur mon livre d'or et maintenant sa commence sur met formulaire de contact.
Donc voila j'aimerais instaler akismet sur mon livre d'or ainsi que deux formulaire de contact si quelqu'un peut me dire ou mettre les code exactement sa serait super simpa j'ai deja téléchargé la version php et la clé api.
Aprés si vous avez une autre solution je suis preneur par contre j'ai deja essayer recaptcha et cryptographp mais ce n'est pas adapter a mon site et ses vraimant pas pratique.
merci encore
<!--==============================content================================-->
<section id="content">
<div class="padding">
<div class="scroll">
<div>
<h3>Livre d'Or</h3>
<?php
require "config.php";
mysql_connect (DB_SERVER,DB_LOGIN,DB_PASS);
mysql_select_db (DB_NAME);
mysql_query ('SET NAMES' .DB_ENC);
if(isset($_POST) && !empty($_POST)){
extract($_POST);
if(empty($pseudo) || empty($message)){
if(empty($pseudo)) { $erreurpseudo="Vous n'avez pas rempli votre nom"; }
if(empty($message)) { $erreurmessage="Vous n'avez pas rempli votre message"; }
} else {
$ip=$_SERVER "REMOTE_ADDR"];
$sql="INSERT INTO livreor (pseudo,message,ip) VALUES (' $pseudo','$message','$ip')";
$req= mysql_query ($sql) or die ('Erreur SQL !<br>' .$sql.'<br>'.mysql_error() );
echo "tous les champ sont bon";
}
}
?>
<div class="margin-bot">
<form id="form-main" action="livreor.php" method="post" enctype="multipart/form-data">
<fieldset>
<div class="wrapper">
<div class="column-1">
<label>
Votre Nom:<br>
<span class="input"><input type="text" name="pseudo"></span>
<span class="error-message"><?php if(isset($erreurpseudo)) echo $erreurpseudo; ?></span> <br />
</label>
<br>
</div>
<div class="column-1">
Message:<br>
<span class="area"><textarea name="message" id="message"rows="8" cols="35"></textarea></textarea></span><br />
<span class="error-message"><?php if(isset($erreurmessage)) echo $erreurmessage; ?></span>
<div class="input">
<input type="submit" value="envoyer" id="envoyer" /><br />
</div>
</div>
</div>
</fieldset>
<br><hr>
</form>
<div align="center" class="wrapper">
<?php
$sql="SELECT * FROM livreor ORDER BY id DESC";
$req= mysql_query ($sql) or die ('Erreur SQL !<br>' .$sql.'<br>'.mysql_error() );
while ($data=mysql_fetch_assoc ($req)) {
echo "<strong>".$data "pseudo"] ."</strong><br />";
echo "<p>".$data "message"]."<hr /></p>";
}
mysql_close();
?>
<!--==============================content================================-->
<section id="content">
<div class="padding1">
<h3>Contact</h3>
<div class="margin-bot">
<form id="form-main" action="verifyform.php" method="post" enctype="multipart/form-data">
<fieldset>
<div class="wrapper">
<div class="column-1">
<label>
Votre Nom:<br>
<span class="input"><input name="Nom" type="text"></span>
</label>
<label>
Votre E-mail:<br>
<span class="input"><input name="email" type="email"></span>
</label>
<label>
Votre Téléphone:<br>
<span class="input"><input name="Téléphone" type="text"></span>
</label>
</div>
<div class="column-1">
Message:<br>
<span class="area"><textarea COLS=50 ROWS=6 name=Message></textarea></span><br />
<div class="input">
<input type="submit" value="Envoyer" id="envoyer"></span></span>
</div><br />
<div class="input">
<input type="reset" value="Efface" id="Efface">
</div>
</div>
</div>
</fieldset>
</form>
</div>
<h3>Adresse Postale</h3>
<div class="wrapper">
<figure class="img-indent"><a href="galerie.html" ><img src="images/contact.png" alt=""></a></figure>
<div class="extra-box">
<dl>
<dt>Les Gourmandises de Pauline<br>4 Place du Neuf-Bourg</br> 59300 Valenciennes</dt>
<dd><span>Mobile:</span>+33 (0) 7 60 49 73 66</dd>
<dd><span>Telephone:</span>+33 (0) 9 50 92 64 59</dd>
<dd><span>FAX:</span>+33 (0) 9 55 92 64 59</dd>
<dd><a href="mailto:contact@patisserie-lgdp.fr">contact@patisserie-lgdp.fr</a></dd>
</dl>
</div>
</div>
</div>
<a class="link-main" href="Actualité.html"><img src="images/link-main1.png" alt=""></a>
</section>
J'ai modifier mais il me met Parse error: syntax error, unexpected ')' in /htdocs/livreor.php on line 122
<?php
require "config.php";
require "class/Akismet.class.php";
mysql_connect (DB_SERVER,DB_LOGIN,DB_PASS);
mysql_select_db (DB_NAME);
mysql_query ('SET NAMES' .DB_ENC);
if(isset($_POST) && !empty($_POST)){
extract($_POST);
$Akismet = new Akismet();
$Akismet -> setCommentAuthor ($_POST"pseudo"]);
$Akismet -> setCommentAuthorEmail ($_POST"email"]);
$Akismet - setCommentAuthorURL> ($_POST"ip"]);
$Akismet - setCommentContent> ($_POST"message"]);
$Akismet -> setPermalink ('http://www.patisserie-lgdp.fr/livreor.php/');
$Akismet-> isCommentSpam ())
{
$_POST"spam"]=1;
}
else{
$_POST"spam"]=0;
}
{
$Comment->save($_POST);
$_GET"id"]=$Comment->id;
}
if(empty($pseudo) || empty($message)){
if(empty($pseudo)) { $erreurpseudo="Vous n'avez pas rempli votre nom"; }
if(empty($message)) { $erreurmessage="Vous n'avez pas rempli votre message"; }
}
else {
$ip=$_SERVER "REMOTE_ADDR"];
$sql="INSERT INTO livreor (pseudo,message,ip) VALUES (' $pseudo','$message','$ip')";
$req= mysql_query ($sql) or die ('Erreur SQL !<br>' .$sql.'<br>'.mysql_error() );
echo "tous les champ sont bon";
}
}
?>
<div class="margin-bot">
<form id="form-main" action="livreor.php" method="post" enctype="multipart/form-data">
<fieldset>
<div class="wrapper">
<div class="column-1">
<label>
Votre Nom:<br>
<span class="input"><input type="text" name="pseudo"></span>
<span class="error-message"><?php if(isset($erreurpseudo)) echo $erreurpseudo; ?></span> <br />
</label>
<br>
</div>
<div class="column-1">
Message:<br>
<span class="area"><textarea name="message" id="message"rows="8" cols="35"></textarea></textarea></span><br />
<span class="error-message"><?php if(isset($erreurmessage)) echo $erreurmessage; ?></span>
<div class="input">
<input type="submit" value="envoyer" id="envoyer" /><br />
</div>
</div>
</div>
</fieldset>
<br><hr>
</form>
<div align="center" class="wrapper">
<?php
$sql="SELECT * FROM livreor ORDER BY id DESC";
$req= mysql_query ($sql) or die ('Erreur SQL !<br>' .$sql.'<br>'.mysql_error() );
while ($data=mysql_fetch_assoc ($req)) {
echo "<strong>".$data "pseudo"] ."</strong><br />";
echo "<p>".$data "message"]."<hr /></p>";
}
mysql_close();
?>
Bonjour bon je n'y arrive pas j'ai que des erreur j'ai m'y le code en place ensuite je ne sais pas ou mettre la fonction "conditions"=>"spam=0" help please
<?php
require "config.php";
require "class/Akismet.class.php";
mysql_connect (DB_SERVER,DB_LOGIN,DB_PASS);
mysql_select_db (DB_NAME);
mysql_query ('SET NAMES' .DB_ENC);
if(isset($_POST) && !empty($_POST)){
extract($_POST);
$Akismet Akismet = new ();
$Akismet -> setCommentAuthor ($_POST"pseudo"]);
$Akismet -> setCommentAuthorEmail ($_POST"email"]);
$Akismet - setCommentAuthorURL> ($_POST"ip"]);
$Akismet - setCommentContent> ($_POST"message"]);
$Akismet -> setPermalink ('http://www.patisserie-lgdp.fr/livreor.php/');
if($akismet -> isCommentSpam ())
{
$_POST"spam"]=1;
}
else{
$_POST"spam"]=0;
}
{
$Comment->save($_POST);
$_GET"id"]=$Comment->id;
}
if(empty($pseudo) || empty($message)){
if(empty($pseudo)) { $erreurpseudo="Vous n'avez pas rempli votre nom"; }
if(empty($message)) { $erreurmessage="Vous n'avez pas rempli votre message"; }
}
else {
$ip=$_SERVER "REMOTE_ADDR"];
$sql="INSERT INTO livreor (pseudo,message,ip) VALUES (' $pseudo','$message','$ip')";
$req= mysql_query ($sql) or die ('Erreur SQL !<br>' .$sql.'<br>'.mysql_error() );
echo "tous les champ sont bon";
}
}
?>
<div class="margin-bot">
<form id="form-main" action="livreor.php" method="post" enctype="multipart/form-data">
<fieldset>
<div class="wrapper">
<div class="column-1">
<label>
Votre Nom:<br>
<span class="input"><input type="text" name="pseudo"></span>
<span class="error-message"><?php if(isset($erreurpseudo)) echo $erreurpseudo; ?></span> <br />
</label>
<br>
</div>
<div class="column-1">
Message:<br>
<span class="area"><textarea name="message" id="message"rows="8" cols="35"></textarea></textarea></span><br />
<span class="error-message"><?php if(isset($erreurmessage)) echo $erreurmessage; ?></span>
<div class="input">
<input type="submit" value="envoyer" id="envoyer" /><br />
</div>
</div>
</div>
</fieldset>
<br><hr>
</form>
<div align="center" class="wrapper">
<?php
$sql="SELECT * FROM livreor ORDER BY id DESC";
$req= mysql_query ($sql) or die ('Erreur SQL !<br>' .$sql.'<br>'.mysql_error() );
while ($data=mysql_fetch_assoc ($req)) {
echo "<strong>".$data "pseudo"] ."</strong><br />";
echo "<p>".$data "message"]."<hr /></p>";
}
mysql_close();
?>
Salut tu peux écrire dans un fichier les IP des personnes et les comparer pour ne pas qu'elles postent en boucle :
Alors je lis le fichier ip.html et compte le nombre d'IP, j'ajoute aussi l'ip de la personne et normalement ça devrait ralentir considérablement le flood car la personne devra changer d'IP ( proxy ou autre )
<?php
$recup = file_get_contents("ip.html");
$v = explode("#", $recup);
$c = 0;
$ip = 0;
while($v$c] != ''){
if($_SERVER"REMOTE_ADDR"] == $v$c]){
$ip++;
}else{
}
$c++;
}
if(time() - fileatime('ip.html') > 86400){
file_put_contents('ip.html', '');
}
else{
}
$total = $_SERVER"REMOTE_ADDR"].'#'.$recup;
file_put_contents('ip.html', $total);
if($ip < 5){
//Requète SQL
}else{
echo 'Vous avez poster trop de message';
}
En espérant t'avoir aider.
if(time() - fileatime('ip.html') > 86400){
file_put_contents('ip.html', '');
}
est pas si utile que ça en faites mais ça permet de laisser le livre d'or en paix
Merci h4ckr0_v mais ou ou dois je mettre le code exactement et le fichier ip.html doit etre vide
mais sa ne regle pas mon probleme akismet
Alors oui ip.html doit être vide et ton code tu le mets ou il y a //requète SQL
Et je n'ai lu que le soucis de spam... Pour akismet je n'en ai pas la moindre idée :/ Désolé
Moi y a un truc qui me choque là:
$Akismet Akismet = new ();
$Akismet -> setCommentAuthor ($_POST"pseudo"]);
$Akismet -> setCommentAuthorEmail ($_POST"email"]);
$Akismet - setCommentAuthorURL> ($_POST"ip"]);
$Akismet - setCommentContent> ($_POST"message"]);
$Akismet -> setPermalink ('http://www.patisserie-lgdp.fr/livreor.php/');
if($akismet -> isCommentSpam ())
Le new est pas au bonne endroit et un coup tu met $Akismet un apres $akismet
je ne sais pas si celà vient de là mais y a une chance
c a dire je ne comprend pas pourtant j'ai copier coller depuis les instruction akismet.
aider moi svp je suis perdu la je suis a plus de 4000 spam.
Ca $Akismet Akismet = new (); c'est faux c'est $Akisme = new Akismet(); et $akismet -> isCommentSpam () c'est ça $Akismet->isCommentSpam()
Maintenant des que je fait envoyer il me met
Warning: Missing argument 1 for Akismet::__construct(), called in /htdocs/livreor.php on line 117 and defined in /htdocs/class/Akismet.class.php on line 92
Warning: Missing argument 2 for Akismet::__construct(), called in /htdocs/livreor.php on line 117 and defined in /htdocs/class/Akismet.class.php on line 92
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /htdocs/class/Akismet.class.php on line 362
Warning: fsockopen() [function.fsockopen]: unable to connect to .rest.akismet.com:80 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /htdocs/class/Akismet.class.php on line 362
Fatal error: Call to a member function save() on a non-object in /htdocs/livreor.php on line 134
La il te dit que dans le constructeur de Askimet il attent 2 argument que tu lui donne pas donc regarde la doc pour ça.
Et qu'il connait pas $Comment->save($_POST); à la ligne 134
Merci pour ton aide mais la j'avoue ne plus rien comprendre je pense avoir suivi le tutorial video akismet correctement.
alors si quelqu'un peu m'aider a bien mettre les codes directement sa serait genial
Si tu regarde ce lien: http://www.achingbrain.net/stuff/php/akismet
Tu vera qu'il te manque des choses
Merci pour le lien ses la que j'ai pris le code mais voir ce qui manque je ne voit pas surtout que mon anglais est quasi nul et mes competence html et php nul aussi