Exclure un nom de domaine mail dans mon formulaire
Résolu/Fermé
zephir94
Messages postés
26
Date d'inscription
mercredi 12 février 2014
Statut
Membre
Dernière intervention
11 mars 2014
-
Modifié par zephir94 le 8/03/2014 à 11:30
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 - 11 mars 2014 à 14:42
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 - 11 mars 2014 à 14:42
A voir également:
- Exclure un nom de domaine mail dans mon formulaire
- Yahoo mail - Accueil - Mail
- Trouver une adresse avec un nom de famille gratuit ✓ - Forum Mobile
- Nom de l'adresse - Forum Réseaux sociaux
- Publipostage mail - Accueil - Word
- Formulaire de réclamation facebook - Guide
13 réponses
zephir94
Messages postés
26
Date d'inscription
mercredi 12 février 2014
Statut
Membre
Dernière intervention
11 mars 2014
2
Modifié par zephir94 le 8/03/2014 à 13:41
Modifié par zephir94 le 8/03/2014 à 13:41
Bonjour Hack_net
Le robot post en utilisant toujours un mail du type @monnom.fr et fait varier ce qui est devant didier55@monnom.fr, zara51@monom.fr...
je cherche donc à repérer dans mon champ mail, si c'est présent à bloquer l'envoi
j'ai donc essayé d'écrire
mais si il y a des choses d'écrites devant il ne les prend pas en compte ! donc je cherche à gérer quelque soit ce qui est écrit devant @monnom.fr
Merci à toi
Le robot post en utilisant toujours un mail du type @monnom.fr et fait varier ce qui est devant didier55@monnom.fr, zara51@monom.fr...
je cherche donc à repérer dans mon champ mail, si c'est présent à bloquer l'envoi
j'ai donc essayé d'écrire
<?php
if($_POST['mail'] != "@monnom.fr"){
die('bot!');
}
else{
}
?>
mais si il y a des choses d'écrites devant il ne les prend pas en compte ! donc je cherche à gérer quelque soit ce qui est écrit devant @monnom.fr
Merci à toi
hack_net
Messages postés
783
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
51
Modifié par hack_net le 8/03/2014 à 13:00
Modifié par hack_net le 8/03/2014 à 13:00
Euh... tu dis :
"il ne recherche que @monnom.fr sans prendre en compte ce qui est devant de façon aléatoire !" et juste après : "comment écrire quelque soit xxx @monnom.Fr ? " faudrait savoir ! Tu veux quoi exactement ? Bloquer un nom de domaine mail ou un utilisateur ?
L'éducation par l'apprentissage nous sert à abdiquer nos idées primitives ancrées dans l'animal que nous sommes. Elle est primordiale et en aucun cas elle ne doit être secondée ou remplacée.
"il ne recherche que @monnom.fr sans prendre en compte ce qui est devant de façon aléatoire !" et juste après : "comment écrire quelque soit xxx @monnom.Fr ? " faudrait savoir ! Tu veux quoi exactement ? Bloquer un nom de domaine mail ou un utilisateur ?
L'éducation par l'apprentissage nous sert à abdiquer nos idées primitives ancrées dans l'animal que nous sommes. Elle est primordiale et en aucun cas elle ne doit être secondée ou remplacée.
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
8 mars 2014 à 13:16
8 mars 2014 à 13:16
Salut,
Pour ta question, il suffirait simplement d'utiliser la fonction PHP stripos() https://www.php.net/manual/fr/function.stripos.php :)
Pour ta question, il suffirait simplement d'utiliser la fonction PHP stripos() https://www.php.net/manual/fr/function.stripos.php :)
zephir94
Messages postés
26
Date d'inscription
mercredi 12 février 2014
Statut
Membre
Dernière intervention
11 mars 2014
2
Modifié par zephir94 le 8/03/2014 à 15:43
Modifié par zephir94 le 8/03/2014 à 15:43
Merci à toi chico200987,
J'ai bien vue ta réponse mais je ne suis pas parvenu à l'adapter à mon cas malgré de nombreuses tentatives hélas !
J'ai bien vue ta réponse mais je ne suis pas parvenu à l'adapter à mon cas malgré de nombreuses tentatives hélas !
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
Modifié par chico200987 le 8/03/2014 à 15:56
Modifié par chico200987 le 8/03/2014 à 15:56
As-tu testé ceci :
<?php $pos1 = stripos($_POST['mail'], "@monnom.fr"); if ($pos1 !== false) { die('bot!'); } else{ ... } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
8 mars 2014 à 19:55
8 mars 2014 à 19:55
Bonjour
Une solution:
- créer un champ "age" avec id "age'
- faire un CSS qui associé à l'id "#age" a comme caractéristique: display: none;
Donc, ce champ age ne devra pas s'afficher et rester vide.
Si le boot est assez stupide, il va remplir ce champ.
Donc, coté PHP, s'il y a quelque chose dans "age" vous faites comme si vous avez enregistré, sauf que vous jetez.
A+
Une solution:
- créer un champ "age" avec id "age'
- faire un CSS qui associé à l'id "#age" a comme caractéristique: display: none;
Donc, ce champ age ne devra pas s'afficher et rester vide.
Si le boot est assez stupide, il va remplir ce champ.
Donc, coté PHP, s'il y a quelque chose dans "age" vous faites comme si vous avez enregistré, sauf que vous jetez.
A+
zephir94
Messages postés
26
Date d'inscription
mercredi 12 février 2014
Statut
Membre
Dernière intervention
11 mars 2014
2
Modifié par zephir94 le 8/03/2014 à 21:37
Modifié par zephir94 le 8/03/2014 à 21:37
Merci à toi chico200987,
Sauf que cela bloque bien l'envois si effectivement xxx@monnom.fr mais dès lors que tu essayes juste après avec un mail valide il poste ceux bloqués plus le valide !!!
imaginons que je face deux essais avec @monnom.fr et un troisième valide, et bien j'ai en même temps les deux faux et le valide qui apparaissent j'espère être plus clair.
comme un effet mémoire !!!
je viens de voir en fait qu'il post aussi à la fermeture du navigateur aussi !
Merci mpmp93 mais j'ai déjà implanté ta solution
Sauf que cela bloque bien l'envois si effectivement xxx@monnom.fr mais dès lors que tu essayes juste après avec un mail valide il poste ceux bloqués plus le valide !!!
imaginons que je face deux essais avec @monnom.fr et un troisième valide, et bien j'ai en même temps les deux faux et le valide qui apparaissent j'espère être plus clair.
comme un effet mémoire !!!
je viens de voir en fait qu'il post aussi à la fermeture du navigateur aussi !
Merci mpmp93 mais j'ai déjà implanté ta solution
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
8 mars 2014 à 22:07
8 mars 2014 à 22:07
si le captcha ne fonctionne pas, utiliser une question aléatoire avec liste déroulante, exemple:
quel jour sommes nous? et dans la liste déroulante les jours de la semaine..... mais placés aléatoirement à chaque fois dans un ordre différent....
ET sl le boot passe ce test, c'est que le boot est pas un robot mais un être humain.... avec un PC.
Alors là, vous sortez l'artillerie lourde:
- faire un script en action-script pour flash player
- intégrer à la page une animation qui utilise le script action-script
- ce script écrit dans le cache de macromédia des données s'il n'y en a pas....
- parrallèlement action-script transmet au serveur le code qu'il a implanté dans le cache
- si le "rigolo" a injecté un spam, vous tagguez le code enregistré en BDD
- au prochain tour, lorsque le spammeur revient et ré-injecte un spam, vous laissez faire, mais au moment d'enregistrer, vous vérifiez si le script pour flash player a renvoyé un code déja inscrit auparavant
- si c'est le code du spammeur, vous lui dites: "message enregistré" et vous jetez le spam
Pourquoi un script pour flash-player? Parce que c'est la seule appli qui peut écrire ailleurs que dans les cookies. Le spammeur pourra changer d'adresse IP, vider le cache de navigation, vider les cookies, tant qu'il ne videra pas le cache macromedia, il sera tracé.
A+
quel jour sommes nous? et dans la liste déroulante les jours de la semaine..... mais placés aléatoirement à chaque fois dans un ordre différent....
ET sl le boot passe ce test, c'est que le boot est pas un robot mais un être humain.... avec un PC.
Alors là, vous sortez l'artillerie lourde:
- faire un script en action-script pour flash player
- intégrer à la page une animation qui utilise le script action-script
- ce script écrit dans le cache de macromédia des données s'il n'y en a pas....
- parrallèlement action-script transmet au serveur le code qu'il a implanté dans le cache
- si le "rigolo" a injecté un spam, vous tagguez le code enregistré en BDD
- au prochain tour, lorsque le spammeur revient et ré-injecte un spam, vous laissez faire, mais au moment d'enregistrer, vous vérifiez si le script pour flash player a renvoyé un code déja inscrit auparavant
- si c'est le code du spammeur, vous lui dites: "message enregistré" et vous jetez le spam
Pourquoi un script pour flash-player? Parce que c'est la seule appli qui peut écrire ailleurs que dans les cookies. Le spammeur pourra changer d'adresse IP, vider le cache de navigation, vider les cookies, tant qu'il ne videra pas le cache macromedia, il sera tracé.
A+
zephir94
Messages postés
26
Date d'inscription
mercredi 12 février 2014
Statut
Membre
Dernière intervention
11 mars 2014
2
Modifié par zephir94 le 8/03/2014 à 22:22
Modifié par zephir94 le 8/03/2014 à 22:22
merci de ton aide mais j'ai déjà fait tout cela, j'ai même fait une addition aléatoire aussi !!!
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
8 mars 2014 à 22:36
8 mars 2014 à 22:36
alors arrêter le livre d'or.....
Ou alors détecter dans le livre d'or les messages contenant certains mots clés.....
Ou alors mettre en attente les messages et ne les rendre valide que après contrôle visuel....
A+
Ou alors détecter dans le livre d'or les messages contenant certains mots clés.....
Ou alors mettre en attente les messages et ne les rendre valide que après contrôle visuel....
A+
zephir94
Messages postés
26
Date d'inscription
mercredi 12 février 2014
Statut
Membre
Dernière intervention
11 mars 2014
2
Modifié par zephir94 le 9/03/2014 à 09:49
Modifié par zephir94 le 9/03/2014 à 09:49
Bonjour à tous,
Merci mpmp93 mais je préfère exploiter la solution proposée par chico200987,
normalement la fonction "die" doit arrêter le processus en cours et je n'arrive pas à comprendre pourquoi soit à la fermeture du navigateur ou soit en cas de post après essais, ce dernier permet l'envoi des messages !
As tu une idée sur cela chico200987 ?
Vider le cache des navigateurs en utilisant :
Merci par avance pour ta réponse
Merci mpmp93 mais je préfère exploiter la solution proposée par chico200987,
normalement la fonction "die" doit arrêter le processus en cours et je n'arrive pas à comprendre pourquoi soit à la fermeture du navigateur ou soit en cas de post après essais, ce dernier permet l'envoi des messages !
As tu une idée sur cela chico200987 ?
Vider le cache des navigateurs en utilisant :
header('Pragma:nocache');?
Merci par avance pour ta réponse
zephir94
Messages postés
26
Date d'inscription
mercredi 12 février 2014
Statut
Membre
Dernière intervention
11 mars 2014
2
9 mars 2014 à 17:17
9 mars 2014 à 17:17
ou peut être,
<? Header("Cache-Control: no-store, no-cache, must-revalidate");?
Header("Pragma: no-cache"); ?>
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
10 mars 2014 à 13:42
10 mars 2014 à 13:42
Salut,
Ton comportement est bizarre, hm as-tu essaye de vider tes variables ?
As-tu un code un peu plus complet a partager ? Ce comportement est peut-etre du a autre chose
Ton comportement est bizarre, hm as-tu essaye de vider tes variables ?
As-tu un code un peu plus complet a partager ? Ce comportement est peut-etre du a autre chose
zephir94
Messages postés
26
Date d'inscription
mercredi 12 février 2014
Statut
Membre
Dernière intervention
11 mars 2014
2
11 mars 2014 à 08:06
11 mars 2014 à 08:06
Bonjour chico200987,
Voici le code complet de ma page,
Je te remercie à nouveau pour ton aide
Amicalement
zephir
Voici le code complet de ma page,
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="description" CONTENT="">
<meta HTTP-EQUIV="IMAGETOOLBAR" content="no" SCROLLING="yes" >
<meta name="keywords" CONTENT="">
<head>
<title>Livre d'or</title>
<script src="jquery.js"></script>
<style type="text/css">
body {
background: #000000;
color: #000000;
font-family: Verdana ;
color:white;
font-size:14px;
}
</style>
<style type="text/css">
a:link
{
text-decoration:none;
border: none;
cursor: pointer;
outline-style:none;
}
a:hover
{
color:black;
border: none;
cursor: pointer;
text-decoration:none;
outline-style:none;
}
.submit
{
color:#ffffff;
font-family: 'monotype corsiva';
font-size: 18px;
cursor: pointer;
border: none;
outline-style:none;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
border: 2px solid #ffffff;
background:#000000;
}
.submit:hover
{
color:#000000;
font-family: 'monotype corsiva';
font-size: 18px;
cursor: pointer;
border: none;
outline-style:none;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
border: 2px solid #000000;
background:#ffffff;
}
button.css3button {
color:#ffffff;
cursor: pointer;
border: none;
outline-style:none;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
border: 2px solid #ffffff;
background:#000000;
}
button.css3button:hover {
color:#000000;
cursor: pointer;
border: none;
outline-style:none;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
border: 2px solid #000000;
background:#ffffff;
}
</style>
<style type="text/css">
div.grande
{
width : 70%;
}
p{
line-height:25px;
}
.box
{
padding: 20px;
background: #eeeeee;
border: 1px solid #FFFCFC;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
}
</style>
<!--[if !IE]><!-->
<style type="text/css">
fieldset {
border:1px solid #FFFFFF;
border-radius:10px;
moz-border-radius:10px;
webkit-border-radius:10px;
padding-left:1px;
height:80px;
width:400px;
margin-bottom:1px;
}
</style>
<!--<![endif]-->
<style type="text/css">
#website {
visibility:hidden;
}
span {
border:1px solid red;
padding:3px;
}
legend {
color:white;
font-weight:bold
align = left;
}
</style>
<style type="text/css">
.text
{
background-color:white;
color:black;
cursor: URL()
outline-style:none;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
border-radius: 15px;
padding-left:15px;
height:20px;
width:180px;
margin-top: 0%;
margin-bottom: 0%;
margin-left:0%;
margin-right:0%;
border: 2px solid black;
}
.text:hover
{
background-color:gold;
outline-style:none;
}
.text1
{
background-color:white;
color:black;
outline-style:none;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
border-radius: 15px;
padding-left:15px;
height:20px;
width:180px;
margin-top: 0%;
margin-bottom: 0%;
margin-left:0%;
margin-right:0%;
border: 2px solid black;
}
.text1:hover
{
background-color:gold;
outline-style:none;
}
.text2
{
background-color:white;
color:black;
outline-style:none;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
border-radius: 15px;
padding-left:15px;
height:80px;
width:400px;
margin-top: 0%;
margin-bottom: 0%;
margin-left:0%;
margin-right:0%;
border: 2px solid black;
}
.text3
{
background-color:white;
color:black;
outline-style:none;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
border-radius: 15px;
padding-left:15px;
height:2px;
width:180px;
margin-top: 0%;
margin-bottom: 0%;
margin-left:0%;
margin-right:0%;
border: 2px solid black;
}
textarea{ resize:none;}
.text2:hover
{
outline-style:none;
background-color:gold;
}
</style>
<?php
if($_POST['website'] != ""){
die('Connard de bot!');
}
else{
}
?>
<?php
if(isset($_POST['nobot'])) {
// la case est cochée
}
?>
<script type="text/javascript">
var a = Math.ceil(Math.random() * 10);
var b = Math.ceil(Math.random() * 10);
var c = a + b
function DrawBotBoot()
{
document.write("Combien font "+ a + " + " + b +" ? ");
document.write("<input id='BotBootInput' type='text' maxlength='2' size='2'/>");
}
function ValidBotBoot(){
var d = document.getElementById('BotBootInput').value;
if (d == c) {
return true;
}
alert ('Le résultat est faux !');
return false;
}
</script>
<script type="text/javascript">
function verif(){
return document.getElementById(nom).value.length > 1;
}
</script>
<?php
preg_match('/[bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ]{4,}/',$Message)
?>
<form method="post" action="writeguest.php"
onsubmit="return ValidBotBoot()&& verif()">
<br/><div align="center" style="line-height:30px" ><FONT FACE="gabriola" size="9" color="white">Fils de Saône </FONT><br/><FONT FACE="gabriola" size="6" color="white">Livre d'or </FONT></div>
<table border="0" align="center">
<tr><td><img src="test.jpg"></td><td>
<Div>
<table>
<tr><td><FONT FACE="monotype corsiva" size="1" color="black">website :</FONT></td>
<td><input type=text name=website id="website" class="text3" ></td></tr>
<tr><td><FONT FACE="monotype corsiva" size="4" color="white">Nom :</FONT></td>
<td><input type=text name="nom" id="nom" size=25 class="text"></td></tr>
<tr><td><FONT FACE="monotype corsiva" size="4" color="white">Mail :</FONT></td>
<td><input type=text name=mail size=25 class="text1"></td></tr>
<tr><td><FONT FACE="monotype corsiva" size="4" color="white">Message :</FONT></td><td colspan=1>
<textarea name=message style="overflow:auto " id="Message"rows=6 cols=47 class="text2"></textarea>
</td></tr>
</table>
</Div>
</td><td><img src="livre.jpg"></td></td></tr></table>
<script>
$(document).ready(function(){
$('<div style="text-align:center;"><input type="checkbox" name="nobot" required="true"> Je confirme ne pas être un robot</div>').prependTo($('#maDiv'));
});
</script>
<div align="center">
<fieldset>
<legend align="right"><FONT FACE="monotype corsiva" size="4" color="white"> Captcha Vérification</FONT></legend>
<div style="text-align:center;">
<div id="maDiv"></div>
</div>
<br/>
<div style="text-align:center;">
<script type="text/javascript">DrawBotBoot()</script>
</div>
</fieldset></div><br/>
<div style="text-align:center; padding: 4px 0;"><input border=0 type="submit" class="submit" style="width: 160px;" value="Envoyer le formulaire">
</div>
</form>
<div style="text-align:center;"><button border=0 type="button" class="css3button" style="width: 160px;"onclick="location.href='http://fils-de-saone.fr/index.php';" onMouseOver="window.status='';return true"><FONT FACE="monotype corsiva" size="4">Retourner au menu</FONT></div>
<div align="center" ><div class="grande" style="border:3px solid #000000; padding 1px;"><div style="text-align:left;"><FONT FACE="gabriola" size="6" color="white" >Vos impressions, commentaires:</FONT></div></div>
<div align="center" >
<div class="grande" style="border:3px solid #FFFFFF; padding 3px;"><div style="text-align:left;">
<?php include("guestbook.txt"); ?></div></div>
<br/>
Je te remercie à nouveau pour ton aide
Amicalement
zephir
zephir94
Messages postés
26
Date d'inscription
mercredi 12 février 2014
Statut
Membre
Dernière intervention
11 mars 2014
2
Modifié par zephir94 le 11/03/2014 à 08:15
Modifié par zephir94 le 11/03/2014 à 08:15
Avec bien sur le code que j'avais retiré
sachant que selon mes recherches la fonction die() devrait arrêter le processus et le post ne devrait pas être gardé en mémoire et posté en même tant que le suivant !
<?php
$pos1 = stripos($_POST['mail'], "@monnom.fr");
if ($pos1 !== false) {
die('bot!');
}
else{
}
?>
sachant que selon mes recherches la fonction die() devrait arrêter le processus et le post ne devrait pas être gardé en mémoire et posté en même tant que le suivant !
zephir94
Messages postés
26
Date d'inscription
mercredi 12 février 2014
Statut
Membre
Dernière intervention
11 mars 2014
2
11 mars 2014 à 13:54
11 mars 2014 à 13:54
J'ai trouvé,
La vérification doit s'effectuer dans mon fichier writeguest.php
avec mes variables
La vérification doit s'effectuer dans mon fichier writeguest.php
avec mes variables
echo htmlspecialchars_decode(htmlentities($chaine, ENT_NOQUOTES, 'ISO-8859-1'));je te remercie infiniment
$nom = htmlspecialchars(stripslashes($_POST['nom']));
$mail = htmlspecialchars(stripslashes($_POST['mail']));
$pos1 = stripos($_POST['mail'], "@fils-de-saone.fr");
if ($pos1 !== false) {
exit();
}
else{
}
$message = htmlspecialchars(stripslashes($_POST['message']));
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
11 mars 2014 à 14:42
11 mars 2014 à 14:42
Ah, parfait tu as pu résoudre ton problème, content d'avoir pu te mettre sur la piste, derien :)
8 mars 2014 à 14:01