Comment éviter le spam

lucanton Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
lucanton Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous, j'ai fait mon site avec dreamweaver, je n'y connais rien en prgrammation,
j'ai installé des formulaires de commentaires, avec controle par code( genre 9+3=..) et mot de passe.
et je suis envahi de spam, et il me semble que les robots ne passent pas par mon formulaire, car ils ne mettent rien de valide en code, ou en mot de passe, ni email.
J'aimerais un coup de main pour lutter contre ça.
Merci d'avance
Luc



A voir également:

11 réponses

astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention   1 641
 
slt

utilises le captcha image plutot !
0
lucanton Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, merci, mais ils ne passent pas par mon formulaire. Ils ne remplissent pas le champ code,
et passent à travers. Le Captcha ne résoudra pas ce problème ??
En plus captcha, j'en ai pas trouvé avec un tutoriel complet.
0
astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention   1 641
 
ba fais voir ton code ?
0
lucanton Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Je met la partie PHP :
<?php require_once('Connections/connexionsincerite.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO tribulation ('date', pseudo, motpasse, commentaire, code, ip) VALUES (%s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['date'], "date"),
GetSQLValueString($_POST['pseudo'], "text"),
GetSQLValueString($_POST['passemot'], "text"),
GetSQLValueString($_POST['commentaire'], "text"),
GetSQLValueString($_POST['code'], "int"),
GetSQLValueString($_POST['ip'], "int"));

mysql_select_db($database_connexionsincerite, $connexionsincerite);
$Result1 = mysql_query($insertSQL, $connexionsincerite) or die(mysql_error());

$insertGoTo = "/tribulation.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

mysql_select_db($database_connexionsincerite, $connexionsincerite);
$query_Rscomenttrib = "SELECT 'date', pseudo, commentaire FROM tribulation WHERE commentaire LIKE '%Bonjour%'";
$Rscomenttrib = mysql_query($query_Rscomenttrib, $connexionsincerite) or die(mysql_error());
$row_Rscomenttrib = mysql_fetch_assoc($Rscomenttrib);
$totalRows_Rscomenttrib = mysql_num_rows($Rscomenttrib);
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['pseudo'])) {
$loginUsername=$_POST['pseudo'];
$password=$_POST['passemot'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "/tribulation.php";
$MM_redirectLoginFailed = "/enretribu.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_connexionsincerite, $connexionsincerite);

$LoginRS__query=sprintf("SELECT pseudo, motpasse FROM enregistrement WHERE pseudo=%s AND motpasse=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));

$LoginRS = mysql_query($LoginRS__query, $connexionsincerite) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";

//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;

if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
<?PHP
if(isset($_POST['mailOk'])) $mailOk=$_POST['mailOk']; else $mailOk="";

if ($mailOk == "1") {
$objet = "Vous avez reçu un commentaire.";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

$msg = "Bonjour,<br><br>
Vous avez reçu un nouveau commentaire sur votre page tribulation.<br>";

mail("luc.marchal@rians.org", $objet, $msg, $headers);
}
?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/modele1.dwt.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention   1 641
 
édit ton message et enlève ton adresse email de ton code php :)

A quel endroit tu dis que $mailOk == "1" ?
quand tu reçois tes spam, ta base s'incrémente aussi ou tu ne reçois que l'email ?
0
lucanton Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Oui, merci de regarder tout ça; Quand je parle de spam, ce sont les commentaires enregistrés sur la base de donnée.
J'ai essayé de supprimer l'envoi d'email, mais les commentaires continuent. Il ne s'affichent pas sur mon site car je filtre l'affichage, mais ça fait beaucoup de commentaires à supprimer.
ça c'est calmé un peu depuis que j'ai demandé à se connecter pour commenter.
Je dis §mailOK == "1" à la fin du formulaire, il me semble:
je te met ci dessous le code après mon contenu :
</blockquote>
</div></td>
</tr>
<tr>
<td colspan="2"><blockquote> </blockquote></td>
</tr>
<tr>
<td colspan="2"><blockquote><p align="left" id="commentaire2" name="commentaire2"><a name="commentaire2" id="commentaire2"></a><span class="Style24">Suite et Commentaires</span></p>
<div align="left">
<table width="100%" cellpadding="0">
<?php do { ?>
<tr>
<td width="23%" bgcolor="#EAFBF7"><?php echo $row_Rscomenttrib['pseudo']; ?></td>
<td width="6%" bgcolor="#EAFBF7"><div align="center">Le</div></td>
<td width="71%" bgcolor="#EAFBF7"><?php echo $row_Rscomenttrib['date']; ?></td>
</tr>
<tr>
<td colspan="3"><?php echo $row_Rscomenttrib['commentaire']; ?></td>
</tr>
<?php } while ($row_Rscomenttrib = mysql_fetch_assoc($Rscomenttrib)); ?>
</table>
</div>
<p align="left" name="commentaire2"> </p>
</blockquote></td>
</tr>


<tr>
<td colspan="2"> </td>
</tr>
</table>
</div>
<!-- InstanceEndEditable --></div>
<div id="apDiv6">
<div align="center"><img src="/img/banniere4.png" width="760" height="80" align="middle" /><br />
</div>
</div>
<div id="apDiv5"> <br />
<table width="218" align="center">
<tr>
<td height="21"><div align="right" class="Style22"><a href="#" onclick="MM_showHideLayers('apDiv8','','show','apDiv5','','hide')">X</a></div></td>
</tr>
</table>

<!-- InstanceBeginEditable name="EditRegion2" -->
<div align="center">
<form action="<?php echo $loginFormAction; ?>" method="POST" name="form1" id="form1">
<table width="241" align="center">

<tr valign="baseline">
<td width="109"><div align="center">Pseudo</div></td>
<td width="240" colspan="2"><div align="center">
<input name="pseudo" type="text" id="pseudo" value="" size="20" />
</div></td>
</tr>
<tr valign="baseline">
<td><div align="center">Mot de Passe</div></td>
<td colspan="2"><div align="center">
<input name="passemot" type="text" id="passemot" size="20" />
</div></td>
</tr>
<tr valign="baseline">
<td valign="middle"><div align="center"> Commentaire<br />
Commençant <br />
par Bonjour</div></td>
<td colspan="2" align="center" valign="middle"><div align="center">
<textarea name="commentaire" cols="16" id="commentaire"></textarea>
</div></td>
</tr>
<tr valign="baseline">
<td colspan="3" align="center" valign="middle"><div align="center">
<table width="100%">
<tr>
<td><div align="center">Deux
ajoutés<br />
à Dix </div></td>
<td><input name="code" type="text" id="code" value="" size="10" /></td>
</tr>
</table>
</div>
<div align="center"></div>
<div align="left"></div></td>
</tr>
<tr valign="baseline">
<td colspan="3"><div align="center">
<input name="date" type="hidden" id="date" value="<?php echo date("Y-m-d"); ?>" />
<input type="hidden" name="ip" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>" />
 
       
<input type="submit" onclick="MM_validateForm('pseudo','','R','code','','RinRange12:12','commentaire','','R');return document.MM_returnValue" value="Envoyer" />
</div></td>
</tr>
</table>

<input type="hidden" name="mailOk" value="1" />
<input type="hidden" name="MM_insert" value="form1" />
</form>
</div>
<!-- InstanceEndEditable --></div>
<div id="apDiv4">
<div align="center"><span class="Style21"> <br />
Plan du Site</span><br />
</div>
<table width="165" align="center">
<tr>
<td width="143"><table width="160">
<tr>
<td bgcolor="#FDE4D9"><div align="center"><span class="Style24"><font face="Comic Sans MS"><a href="#" onmouseover="MM_showHideLayers('apDiv8','','hide','apDiv5','','hide','apDiv3','','hide','apDiv2','','show')">Art,Transat à la voile,
Voyage Brésil</a></font></span> »</div></td>
</tr>
<tr>
<td bgcolor="#FDE4D9"><div align="center"><span class="Style24"><a href="#" onmouseover="MM_showHideLayers('apDiv8','','hide','apDiv5','','hide','apDiv3','','show','apDiv2','','hide')">Humanisme,Intimité<br />
Société,Politique</a></span> »</div></td>
</tr>


</table></td>
</tr>

<tr>
<td><!-- InstanceBeginEditable name="EditRegion6" -->
<table width="160" align="center">
<tr>
<td bgcolor="#FDE4D9"><div align="center"><a href="#" onmouseover="MM_showHideLayers('apDiv8','','hide','apDiv5','','show','apDiv3','','hide','apDiv2','','hide')">Commenter</a></div></td>
</tr>
<tr>
<td bgcolor="#FDE4D9"><div align="center"><a href="#commentaire2" target="_self">Voir les commentaires</a></div></td>
</tr>
</table>
<!-- InstanceEndEditable --></td>
</tr>
</table>
</div>
<div id="apDiv3"><br />
<table width="218" align="center">
<tr>
<td><div align="right"><span class="Style22"><a href="#" onclick="MM_showHideLayers('apDiv8','','show','apDiv3','','hide')">X</a></span></div></td>
</tr>
</table>
<table width="99%" height="180" border="1" bordercolor="#FCD6C3">

<tr>
<td colspan="2"><div align="center"><a href="/index.php" target="_parent" class="MenuBarItemSubmenu Style17"><strong>Accueil</strong></a><a href="/index.html" target="_parent" class="MenuBarItemSubmenu Style17"></a></div></td>
</tr>
<tr>
<td colspan="2"><div align="center"><span class="Style16"><a href="mailto:luc.marchal@rians.org">Contact</a></span></div></td>
</tr>


<tr>
<td colspan="2"><div align="center"><span class="Style20"><a href="/democratie.php" target="_parent"><strong>Démocratie</strong></a></span></div></td>
</tr>
<tr>
<td colspan="2"><div align="center"><a href="/gauche.php" target="_parent" class="Style20"><strong>Gauche-Droite</strong></a></div></td>
</tr>
<tr>
<td colspan="2"><div align="center"><span class="Style20"><a href="/itacare.php" target="_parent"><strong>Itacaré-Documents</strong></a></span></div></td>
</tr>
<tr>
<td colspan="2"><div align="center" class="Style20"><a href="/gauche.php" target="_parent" class="Style20"><strong><span class="Style16"></span></strong></a><strong><span class="Style16"><a href="/toxico.php" target="_parent">Prohibition
Toxicomanie</a></span></strong></div></td>
</tr>
<tr>
<td height="20" colspan="2"><div align="center"><strong><a href="/dialogueamie.php" target="_parent">Dialogue avec une Amie</a></strong></div></td>
</tr>
<tr>
<td height="20" colspan="2"><div align="center"><a href="/desmots.php" target="_parent"><strong>Au fil du temps,
des mots</strong></a></div></td>
</tr>
<tr>
<td height="20" colspan="2"><div align="center"><a href="/pourquoipas.php" target="_parent"><strong>Handicap et Aventure Sahara</strong></a></div></td>
</tr>
</table>
</div>
<div id="apDiv2"><br />
<table width="218" align="center">
<tr>
<td><div align="right"><span class="Style22"><a href="#" onclick="MM_showHideLayers('apDiv8','','show','apDiv2','','hide')">X</a></span></div></td>
</tr>
</table>
<table width="100%" border="1" bordercolor="#FCD6C3">

<tr>
<td colspan="2"><div align="center"><strong><a href="/galvrai.php" target="_parent">Galerie</a></strong></div></td>
</tr>
<tr>
<td colspan="2"><div align="center"><strong><a href="/graph.php" target="_parent">Graphismes</a></strong></div></td>
</tr>

<tr>
<td colspan="2"><div align="center"><strong><a href="/voyagebresil.php" target="_parent">Brazil
me
voilà</a></strong></div></td>
</tr>
<tr>
<td colspan="2"><div align="center"><strong><a href="/transat.php" target="_parent">Transat
à la
voile</a></strong></div></td>
</tr>
<tr>
<td colspan="2"><div align="center"><strong><a href="/antillesbresil.php" target="_parent"><a href="dialogueamie.html" target="_parent"></a></strong><strong><a href="/photomer.php" target="_parent">Images de Navigation</a></strong></div></td>
</tr>
<tr>
<td colspan="2"><div align="center"><strong><a href="/antillesbresil.php" target="_parent">Des
Antilles
Au Brésil</a></strong></div></td>
</tr>
<tr>
<td height="27" colspan="2"><div align="center"><strong><a href="/tribulation.php" target="_parent">Tribulation d'un fada au Brésil</a></strong></div></td>
</tr>
<tr>
<td height="20" colspan="2"><div align="center"><strong><a href="/niger.php" target="_parent">Photos de désert Niger
Ténéré</a></strong></div></td>
</tr>
</table>
</div>
</body>
<!-- InstanceEnd --></html>
<?php
mysql_free_result($Rscomenttrib);
?>
0
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Suffit de faire un parser html, il lira donc cette ligne :
"mailto:luc.marchal@rians.org
donc pas besoin d'envoyer le formulaire pour connaître ton adresse mail.
La solution serait de passer par le mail() de php je pense.
0
lucanton Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de ta réponse. Tu supposes que le but du spam c'est juste de récupérer l'adresse mail ?? ça m'étonne, mais bon, comme j'y connais pas grand chose.
Je vais essayer de faire ce que tu dis, même si je vois pas bien ce que c'est,
je finirais bien par y arriver.
Merci Beaucoup,
à plus
Luc
0
lucanton Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir, là je viens de recevoir 26 commentaires même pseudo,même mot de passe,
même ip "184" . Les commentaires changent seulement par le lien différent: cialis, viagra, etc... et malgrè la page connexion, le pseudo et mot de passe ne sont pas enregistré sur la base de donnée dans ma table enregistrement.
Si quelqu'un y comprends quelque chose ??? Merci d'avance
0
astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention   1 641
 
passe ta variable ip en champ unique dans ta base, déjà çà va limité :)

pour ton erreur je ne vais pas t'aider, ton code est trop compliqué pour moi uniquement pour mettre 3 champs dans une base !!!

moi je me contente de 4 bouts de lignes, mais là piouffff
0
lucanton Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
"passe ta variable ip en champ unique".
Je suis pas sûr de comprendre. tu veux dire créer une table à part pour " IP ".
Le code, c'est dreamweaver qui le fait.
Merci beaucoup.
0