× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum des Webmasters
 Anti spam par image
Ajouter un message à la discussion
Pages : Début ... 3 4 [5] 6 ... Fin
[Début] Page 5 sur 6 [Fin]
midnightblue
 Posté le 30/07/2020 à 13:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Code exécuté à l'adresse : http://www.i12.fr/1/pca/formulaire.php

Code visible à l'adresse : http://www.i12.fr/1/pca/indexmacmarco.php

Pour formulaire.php, sécurité accrue avec le contrôle redondant (au niveau du formulaire html et au niveau du script php) du nombre de caractères soumis.

+ variable submitform rendue explicite (valeur "Envoyer") pour valider le formulaire.

+ création d'une variable $info pour ne pas générer du HTML avant la déclaration du document HTML (<!doctype html>).

*µ*



Modifié par midnightblue le 30/07/2020 18:12
Jean-Pierre
 Posté le 30/07/2020 à 13:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Merci mon grand lapin Hubert

mac_marco
 Posté le 31/07/2020 à 06:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

midnightblue a écrit :

Code exécuté à l'adresse : http://www.i12.fr/1/pca/formulaire.php

Code visible à l'adresse : http://www.i12.fr/1/pca/indexmacmarco.php

Pour formulaire.php, sécurité accrue avec le contrôle redondant (au niveau du formulaire html et au niveau du script php) du nombre de caractères soumis.

+ variable submitform rendue explicite (valeur "Envoyer") pour valider le formulaire.

+ création d'une variable $info pour ne pas générer du HTML avant la déclaration du document HTML (<!doctype html>).

*µ*

Merci Midnightblue !

Je vais tester ce week-end et reviendrais vous informer.

mac_marco
 Posté le 31/07/2020 à 06:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Jean-Pierre :

Marco faudrait aussi un peu user du sens de la logique hein

Je vais essayer ce week-end , mais je ne connais vraiment pas le PHP. Donc j'y vais en tâtonnant avec des copier-coller.

Jean-Pierre
 Posté le 31/07/2020 à 11:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Marco

Surtout que le PHP c'est du franco : par exemple si tu oublies par exemple un point de conca ; un point-virgule de fin de ligne ; un quote simple ou double = plantage immédiat ! et en prime, le code source devient absent de chez absent

Bref, apprendre le PHP avant de maîtriser le HTML c'est comme vouloir traire un âne avant de savoir ce qu'est une poule

Licette en lisant cela s'en roule par terre

mac_marco
 Posté le 01/08/2020 à 06:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour les pros .

Je fais de mon mieux mais ça ne marche pas !

J'ai voulu ajouter un champs "Email" et ça ne marche plus, pourquoi ?

Lorsque j'envoi, le formulaire me dit que tous les champs doivent être remplis, ça déplace l'adresse mail dans le champs prénom, ça

vide le champs email et ça décale le texte du message vers le bas !

En image :

Et le code.

le PHP :

<?php 

session_start(); 

header("Cache-Control: no-cache, must-revalidate"); 
header("Pragma: no-cache");
header("Content-type: text/html; charset=utf-8");

// VARIABLES

	// Initialisation _post
	
	if(empty($_POST["submitform"]))$_POST["submitform"]="";
	if(empty($_POST["securecode"]))$_POST["securecode"]="";
	if(empty($_POST["nom"]))$_POST["nom"]="";
	if(empty($_POST["prenom"]))$_POST["prenom"]="";
	if(empty($_POST["email"]))$_POST["email"]="";
	if(empty($_POST["texte"]))$_POST["texte"]="";
	
	// re-affectation
	
	$submitform=$_POST["submitform"];
	$securecode=$_POST["securecode"];
	$nom=$_POST["nom"];
	$prenom=$_POST["prenom"];
	$prenom=$_POST["email"];
	$texte=$_POST["texte"];
	
	// initialisation de la variable du message d'information
	
	$info="";
	
	// TRAITEMENT DU FORMULAIRE
	
	if($submitform=="Envoyer") {  // si le formulaire est validé
	
		// on controle la présence des variables en provenance des champs
		
		if($securecode=="" || $nom=="" || $prenom=="" || $email=="" || $texte=="") { // si un champ n'est pas rempli
			
			$info="Tous les champs doivent être remplis. Merci.";
			
		}
		
		else { // Si les champs obligatoires sont remplis
		
		// On controle la longueur des chaines
		
		if(strlen($prenom)>32 || strlen($nom)>32 || strlen($email)>32 || strlen($texte)>512 || strlen($securecode)>12){
			
			$info= "Le nombre maximal de caractères est dépassé.";
			
		}
		
		else{
		
		// On controle la validité du code
		
		$securecode = isset($securecode) ? strtolower($securecode) : '';
		
		// si le code de sécurité est ok 
	
		if ($securecode == $_SESSION["code"]) {
            
						
			// MAIL
			
			// destinataire
			
			$destinataire="toto@bluewin.ch";
			
			//sujet
			
			$sujet ="Contact";
			
			// message = prenom + nom + texte
			
			$message="Nom : ".$nom."\n"
			."Prénom : ".$prenom."\n"
			."Email : ".$email."\n\n"
			."Message : ".$texte;
								
			// N.B. : vous pouvez réarranger à votre sauce...
			
			// ... et envoi
			
			mail($destinataire,$sujet,$message);
			
			$info= "Le code de sécurité est ok. Le mail a été envoyé";
			
			}
		  
		  // sinon (code incorrect)
		  
          else {
		  
		  $info="Code de sécurité incorrect.";
		  
          }
        }
	}
	
	// on détruit la session courante pour finir
	
	session_destroy();
	
	}
	
?>

Le HTML.

<!doctype html>
	<html lang="fr">
	<head>
		<title>Captcha Mac Marco</title>
		<meta charset="utf-8">
	</head>
	<body>

<?php echo $info; ?>
		
        <form method="post">
        		Votre nom:
				<input type="text" name="nom" 	placeholder="Le champ  Nom est obligatoire" required 
				value="<?php echo htmlentities($nom); ?>" maxlength=32 />
                <br>
                Votre prénom:
				<input type="text" name="prenom" placeholder="Le champ Prénom est obligatoire" required 
				value="<?php echo htmlentities($prenom); ?>" maxlength=32 />
                <br>Votre email
                <input type="email" name="email" placeholder="Le champ Email est obligatoire" required 
				value="<?php echo htmlentities($email); ?>" maxlength=32 />
                <br>
                Votre message:
 				<textarea name="texte" style="width:480px;height:60px" 
				placeholder="Message obligatoire" required maxlength=512>

<?php 
echo htmlentities($texte); 
?>

				</textarea><br><br>
				Code de sécurité:
				<input name="securecode" type="text" size="10" maxlength=12>
				<img src="securitecode.php" alt="Code de sécurité" />
				<input type="submit" name="submitform" value="Envoyer" />
		</form>  
    </body>
</html>	

De plus il me faudrait un champs téléphone.

Je me rends là ! Et comme pourrait le penser Jean-Pierre, ce n'est pas un manque de volonté !

Mais pour moi le PHP c'est de l'égyptien ancien en sténo !!!

Merci d'avance pour l'aide apportée.

midnightblue
 Posté le 01/08/2020 à 08:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Il y a une erreur dans le code au niveau des variables.

Dans la partie // re-affectation :

remplacer $prenom=$_POST["email"];

par $email=$_POST["email"];

Quant au champ "Téléphone", il n'est qu'à l'ajouter de la même manière que vous avez ajouté le champ "Email". D'une manière générale, vous pouvez rajouter tous les champs que vous voulez.

Bonne journée.

*µ*

mac_marco
 Posté le 01/08/2020 à 08:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

midnightblue a écrit :

Il y a une erreur dans le code au niveau des variables.

Dans la partie // re-affectation :

remplacer $prenom=$_POST["email"];

par $email=$_POST["email"];

Quant au champ "Téléphone", il n'est qu'à l'ajouter de la même manière que vous avez ajouté le champ "Email". D'une manière générale, vous pouvez rajouter tous les champs que vous voulez.

Bonne journée.

*µ*

Super, merci. Je vais essayer et vous redis.

Y a t'il un code particulier pour la vérification des champs email et téléphone ?

Publicité
Jean-Pierre
 Posté le 01/08/2020 à 11:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Les enfants, Marco et Hubert

Oui mais bon...

Je serais plus que curieux d'avoir sous les yeux le contenu de la response server quant au contenu du code source des messages...

Devant un $header presque inexistant, tout server laissant passer ce genre d'e-mail est une véritable peau de banane

Hein ??? qui vient de penser "la banane c'est toi !"

J'attends vos copies

Jean-Pierre
 Posté le 01/08/2020 à 12:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

midnightblue a écrit :

Il y a une erreur dans le code au niveau des variables.

Dans la partie // re-affectation :

remplacer $prenom=$_POST["email"];

par $email=$_POST["email"];

Quant au champ "Téléphone", il n'est qu'à l'ajouter de la même manière que vous avez ajouté le champ "Email". D'une manière générale, vous pouvez rajouter tous les champs que vous voulez.

Bonne journée.

*µ*

Marco, voici la preuve que des fois, même celui qui ne trave rien au code, peut tout de même au sens logique ; rectifier le tir de lui-même.

Mais attention, je ne jette aucunement la pierre à mon grand lapin et camarade Hubert

Hier j'avais réussi à passer plusieurs heures à débusquer la cause d'un bug provenant justement d'une affectation foireuse.

Tout le monde se goure et personne n'en est à l'abri.

Ni Président si Altesse Sérénissime

mac_marco
 Posté le 01/08/2020 à 14:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Ca fonctionne presque parfaitement !

Page de test: https://www.vernicar.ch/contact.php

Jean-Pierre:

Marco, voici la preuve que des fois, même celui qui ne trave rien au code, peut tout de même au sens logique ; rectifier le tir de lui-même.

Oui, c'est une erreur de ma part avec le copier-coller

Je serais plus que curieux d'avoir sous les yeux le contenu de la response server quant au contenu du code source des messages...

Devant un $header presque inexistant, tout server laissant passer ce genre d'e-mail est une véritable peau de banane

Pour info c'est chez Infomaniak.ch. Que faudrait t'il faire (si nécessaire) pour sécuriser un minimum le formulaire ?

Midnightblue:

J'ai toujours cet espace qui s'insère dans le formulaire en cas d'erreur de validation, on remplit le formulaire au complet, tous les champs, et si il y a erreur de code ou autres, le texte du message se déplace comme si on faisait une tabulation dans un éditeur de code.

En images ci-dessous:

Avant premier click

Après premier click

Après deuxième click

Et ainsi de suite. Et l'erreur se répercute sur le message reçu dans ma boîte mail.

Des idées ?

midnightblue
 Posté le 01/08/2020 à 15:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

http://www.i12.fr/1/pca/indexmacmarco.php

NB : le script ne prend pas en compte les champs rajoutés (email etc.) , ni les en-tête du mail; toutes choses à rajouter selon les besoins spécifiques de chacun.

*µ*

mac_marco
 Posté le 01/08/2020 à 16:00 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

midnightblue a écrit :

http://www.i12.fr/1/pca/indexmacmarco.php

NB : le script ne prend pas en compte les champs rajoutés (email etc.) , ni les en-tête du mail; toutes choses à rajouter selon les besoins spécifiques de chacun.

*µ*

Oui, je comprend. Mais quelqu'un comme moi qui n'y connaît rien, comment je peux résoudre le problème ?

mac_marco
 Posté le 01/08/2020 à 16:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

J'ai trouver un autre code à toutes fins utiles ici : https://a-pellegrini.developpez.com/tutoriels/php/mail/#L3

Mais j'aimerais remplacer le champs "sujet" par "téléphone", ce serait possible ?

mac_marco
 Posté le 01/08/2020 à 17:45 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Yessss ! J'ai trouvé ! Et maintenant

Jean-Pierre
 Posté le 01/08/2020 à 18:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Hé bien faudrait surtout mettre le focus (sens figuré) sur le $headers

Car vu son indigence, hier j'avais réussi (via le formulaire à Hubert, tiens ça rime ) j'avais réussi dis-je à envoyer un courriel.

Le lendemain je suis encore en attente. En fait en passant au filtrage il est directo passé à la poubelle du server comme spam !

Raison pour laquelle je demande à voir le code source de réception...

Car cela doit être signalé. Et le status ne doit pas être en "LEGIT"

Hubert mon grand lapin, tu en dis quoi ?

Ne dites pas que je suis ch car si chez vous ça passe, ce sera une incertitude pour les autres visiteurs.

Licette et JP

Publicité
mac_marco
 Posté le 01/08/2020 à 18:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Jean-Pierre, tu es allée voir mon dernier lien sur un tutoriel ?

J'y connais pas grand chose mais ça a l'air pas mal.

Raison pour laquelle je demande à voir le code source de réception...

Comment on fait pour voir ce code source de réception ?

Jean-Pierre
 Posté le 01/08/2020 à 19:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Oui je connais cette page

Hubert sait pour le code source du message.

Marco au fait, un truc que je pige pas : le script (code) que tu as acheté, il bloque chez un copain et il fonctionne chez toi OK, mais est-ce que tu préfères celui d'ici ou bien celui que tu as acheté ?

Licette et JP

mac_marco
 Posté le 02/08/2020 à 00:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Jean-Pierre a écrit :

Oui je connais cette page

Hubert sait pour le code source du message.

Marco au fait, un truc que je pige pas : le script (code) que tu as acheté, il bloque chez un copain et il fonctionne chez toi OK, mais est-ce que tu préfères celui d'ici ou bien celui que tu as acheté ?

Licette et JP

Je vais garder celui que j'ai acheté pour mes sites à moi et j'utiliserais celui du site développez.com pour les sites de mes amis.

Le formulaire de développez.com à l'air sécurisé et, d'après le tutoriel, inclus un anti spam. Visible ici:

ATTENTION SITE EN LIGNE, NE PAS ENVOYER DE MESSAGE (sauf si vous avez besoin d'un bon carrossier!)

https://www.vernicar.ch/contact.php

Je l'ai testé et il a l'air de bien fonctionner, j'attend de voir si mon ami reçois des spam.

Quand au formulaire avec l'anti spam image, grâce à tes conseils et l'aide de Midnightblue, j'approche du but.

J'aurais encore un peu de temps à y consacrer le semaine prochaine mais après c'est vacances et peinture du salon (et ma chère et tendre va surveiller les travaux .

Donc je risque de revenir mi-août (mais j'essaierais de m'éclipser de temps en temps).

Dons, pour le moment, un GRAND merci et à bientôt.

mac_marco

Jean-Pierre
 Posté le 02/08/2020 à 12:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Marco,

nous nous sommes mal compris...

Je parlais que ça tombait dans la boite spam et non que ça partait comme du spam...

Ce n'est pas que ça attire du spam, non non, c'est que le moteur du server considère tout message provenant de ce truc comme du spam.

Bref, et autrement dit : avec pareil code pourrit, tout server digne de ce nom kill directo ces m envoyées.

Bien le site du carrossier mais as-tu regardé le galimatias codesque en code source ?

Deux fois par exemple le </html> de fin idem du </body> des tas de balises orphelines </span> et je passe les tas le lignes en header rouges de rage tellement le code est pourrit.

Qui qui est habillé pour l'hiver ?

Bon travaux

midnightblue
 Posté le 04/08/2020 à 10:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Jean-Pierre
 Posté le 04/08/2020 à 11:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Merci mon grand lapin Hubert

Je vais demander à Licette de tester ça

Elle pensait que tu faisais le museau

Licette et JP

Jean-Pierre
 Posté le 04/08/2020 à 11:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Bonzour Bébert

Regarde le code source de réception :

.../...

___

A première vue c'est

Bon... des broutilles comme le charset à remettre sur pattes et éclaircir un peu le code source.

Mais dans l'ensemble tu as les félicitation de papounet, et tu le connais désormais, il est sciant des fois hein

Bravo !

En prime tu as décroché le statut LEGIT, assurance de fiabilité de réception par tous opérateurs.

Licette

PS : dis Bébert, ze t'aime bien moi tu sais ?

midnightblue
 Posté le 04/08/2020 à 12:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Vous pouvez éventuellement enlever le charset, celui par défaut (us-ascii) se rétablira...Bon appétit.

*µ*

Jean-Pierre
 Posté le 04/08/2020 à 12:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Hubert mon grand lapin

(On peut se tutoyer non ? A moins que tu ne sois toujours assis en costard cravate le petit doigt en l'air )

Pour le charset, Licette évoquait le fait qu'il était affecté en UTF-8 comme il se doit ; mais non répercuté en retour = cf capture dito.

Mais pas grave, tu as réussi le principal et je t'en félicite également

Bon ap' itout (du homard ? )

Publicité
Pages : Début ... 3 4 [5] 6 ... Fin
[Début] Page 5 sur 6 [Fin]

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
28,99 €Outil rotatif multifonction TECCPO + 80 accessoires à 28,99 € avec le code VMAK7SHM
Valable jusqu'au 24 Octobre

Amazon fait une promotion l'outil rotatif multifonction TECCPO avec ses 80 accessoires qui passe à 28,99 € avec le code VMAK7SHM au lieu de 39 €. La livraison est de plus gratuite. Cet outil va vous permettre de découper, poncer, percer, nettoyer. L'outil possède un mandrin universel autoserrant qui accepte tous tous les accessoires ayant un diamètre de 0,8mm à 3,2mm. Il est compatible avec tous les outils de Dremel.


> Voir l'offre
104,71 €Alimentation Seasonic Focus Plus Gold 650W (garantie 10 ans) à 104,71 € livré
Valable jusqu'au 24 Octobre

Amazon Allemagne fait une promotion sur l'alimentation Seasonic Focus Plus Gold 650W qui passe à 96,11 €. Comptez 8,60 € pour la livraison en France soit un total de 104,71 € livré alors qu'on la trouve ailleurs à partir de 139 €. Le niveau frise la perfection avec une magnifique certification 80+ OR et un câblage full modulaire, le tout dans un silence de cathédrale. L'alimentation est garantie 10 ans.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et qu'il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre
18,60 €Coffret Bosch X-Line Titanium de 50 pièces à 18,60 €
Valable jusqu'au 25 Octobre

Amazon fait une promotion sur le coffret Bosch X-Line Titanium de 50 pièces qui passe à 18,60 € au lieu de 30 € ailleurs. Ce pack comporte 11 forets à métaux HSS-TiN Ø 1,5-6,5 mm, 6 forets à matériaux au carbure Ø 4 -10 mm, 5 mèches à bois Ø 4-10 mm 2 mèches plates, titane, Ø 16/22 mm, 18 embouts de vissage, L = 25 mm PH 1/2/2/3 PZ 1/2/2/3 Plat 4/6/7 HEX 3/4/5/6 T 15/20/25, 3 douilles Ø 7/8/10 mm, 1 adaptateur pour douille,1 gabarit à diamètre, 1 cutter, 1 porte-embout universel, magnétique, 1 fraise conique à lamer.


> Voir l'offre

Sujets relatifs
ajout d'image sur fb par répétition
Récupération d'image .. pour envois par mail
Pied de page qui passe par dessus l'image de fond
remplacer une image par une autre
Choix d'édito par l'image.
formulaire avec contrôle anti-spam
faire un boutton changé image dans un anti boot
Remplacement Flash par image gif ou jpeg
envoi de mails en nombre et anti spam
email par image
Plus de sujets relatifs à Anti spam par image
 > Tous les forums > Forum Forum des Webmasters