Interdire une adresse e-mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Interdire une adresse e-mail

par Cyrano » 03 sept. 2005, 13:22

Je me demande si tu as bien suivi mes précédentes explications, j'ai déjà répondu à cette question. :-k

par karushi » 03 sept. 2005, 12:50

Dans un premier temps, j'aimerai que l'on ne puisse pas mettre une adresse e-mail (du type: [email protected])dans un champ texte normal comme par ex.: nom...

Quel test je dois faire?

par Cyrano » 02 sept. 2005, 22:58

Quand tu auras réussi à expliquer clairement ce que tu veux faire, je réussirai probablement à comprendre et je pourrai te répondre efficacement, mais là, je sais plus trop ce que tu cherches exactement à faire. :-k

Et si tu arrives à expliquer correctement ton problème, c'est que tu l'auras toi même bien identifié, c'est plus de la moitié de la solution ;)

par karushi » 02 sept. 2005, 21:12

Non décidément je n'y arrive pas...

par karushi » 01 sept. 2005, 22:34

oui un peut de logique... ou peut on en acheter a cette heure ?
Je pense que je suis un peut fatigué... :oops:
Je vais reprendre tout ca demain a tete reposé....

En tous les cas je te remercie Cyrano :lol:

par karushi » 01 sept. 2005, 22:30

non désolé ca passe le controle avec un nom ou avec une adresse e-mail... mais il ne faut surtout pas que l'on puisse mettre une adresse e-mail...

par Cyrano » 01 sept. 2005, 22:30

Je comprends vite, mais parfois, il faut m'expliquer longtemps : Tu veux quoi finalement : que ton champ soit une adresse de courriel ou non ?

Un petit minimum de logique, c'est pourtant pas sorcier, tu as tous les éléments dans les mains là :-k

par karushi » 01 sept. 2005, 22:24

Cela ne fonctione pas Cyrano...

Ce que j'aimerai c'est qu'il ne passe pas le controle si c'est une adresse e-mail et ci c'est vide mais ici ca passe le controle QUE si c'est une adresse e-mail...

par Cyrano » 01 sept. 2005, 21:38

Oui, mieux, mais comme je t'ai dit: tu peux soit utiliser la même expression réglière que celle servant à valider le courriel. Quand tu valides, tu vérifie par exemple que le champ n'est pas vide ET qu'elle ne correspond pas à un schéma de courriel, du genre:
<?php
//...
if(!empty($nom) && (!preg_match('`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-_.]?[[:alnum:]])*.([a-z]{2,4})$`',$nom)))
{
    // Là, c'est OK
}
else
{
    // Là, soit le champ est vide, soit c'est une adresse de courriel.
}
//...
?>

par karushi » 01 sept. 2005, 21:34

Premier problème, j'ai retourné le code dans tous sens et pas moyen de trouver...
Si tu as la solution.... :oops:

Deuxième probleme, il y a un petit malin qui a réussi plusieurs fois a ce loguer en tant qu'administrateur (heureusement il n'a rien fait... pour l'instant...) sur un site que j'ai fait il y a assez longtemps en injectant une adresse e-mail.
Mais il est obligé d'utiliser le même nom de domaine (n'importe_quoi@monsite.com) pour le faire... En interdisant le arobasse et le nom de domaine, je le stope...

As-tu compris mes problèmes ?

Merci pour vos réponses

par Cyrano » 01 sept. 2005, 21:19

Je ne comprends pas bien le problème. Pour interdire les adresses de courriel dans les autres champs, utilise la même expression régulière qui te sert à valider la case où on doit au contraire la trouver. Si tu la trouves ailleurs, tu génères un message d'erreur.

Pour la validation de l'adresse de courriel, je ne saisis pas trop la subtilité :-k

Interdire une adresse e-mail

par karushi » 01 sept. 2005, 19:15

Bonjour tout le monde,

Je dois, afin de sécurisé un formulaire, interdire toutes les adresses e-mail sur tous les champs. (nom, prénom, tel...)

Controle du type:
if (empty($frm["prenom"])) {
		$erreurs["prenom"] = true;
		$msg["prenom"] = " Veuillez saisir votre prénom!";

} 
En ce qui concerne l'a vérification de l'adresse e-mail, je dois interdire tout ce qui est devant le nom de domaine @monsite.com.

Controle du type:
if (empty($frm["email"])) {
		$erreurs["email"] = true;
		$msg["email"] = " Veuillez saisir votre adresse e-mail!";
	}
	elseif (!preg_match('`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-_.]?[[:alnum:]])*.([a-z]{2,4})$`',$frm["email"])) {
		$erreurs["email"] = true;
		$msg["email"] = " Désolé, mais le format de l'adresse e-mail n'est pas valable!";
	}

	elseif  ((mysql_num_rows(mysql_query("SELECT 1 FROM utilisateurs WHERE email = '".$frm["email"]."'")) > 0)
) {
		$erreurs["email"] = true;
		$msg["email"] = " Cette adresse e-mail est utilisée!";

} 
Est-ce que quelqu'un peut m'aider ou me donner l'adresse d'un tutoriel ?

Merci d'avance pour toutes vos réponses.

p.s. C'est très urgent...