Demande de conseils sur la validation

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 : Demande de conseils sur la validation

Re: Demande de conseils sur la validation

par Cerbere1980 » 20 avr. 2010, 11:26

Merci pour ta réponse.

Je vais faire quelques tests sur filter_var_array pour bien prendre les dimensions de cette fonction.

Re: Demande de conseils sur la validation

par stealth35 » 20 avr. 2010, 10:39

hello, tu peux vérifier tout grâce a filter_var_array, il suffira de parcourir les valeur fausse, pour les messages d'erreur

pour "!empty" ou "isset"

isset c'est si elle existe
empty pour savoir si elle est vide
(une variable peux exister et être vide)

Demande de conseils sur la validation

par Cerbere1980 » 20 avr. 2010, 10:33

Bonne rencontre,

Je suis en train de réaliser une sorte d’intranet pour nos clients. L’applicatif est divisé en deux parties : la partie back-office permet d’encoder les informations nécessaire au système. L’autre partie est ouverte à nos clients pour qu’il puisse encoder des informations qui vont enrichir la base de données ou bien consulter des rapports.

Je travaille via des formulaires en méthode post pour envoyer les données. Je reçois donc ce genre de chose :
		$email=filter_input(INPUT_POST,'adressemailclient',FILTER_SANITIZE_EMAIL);
		$email=filter_var($email,FILTER_VALIDATE_EMAIL);
		$destination=$_POST['destination'];
		$po=(int)$_POST['PO'];
		$somme=(int)$_POST['Somme'];
		$fournisseur=(int)$_POST['fournisseur'];
		$dateachat = $_POST['anneeachat'].''.$_POST['moisachat'].''.$_POST['jourachat'];
		$datedepart = $_POST['anneedepart'].''.$_POST['moisdepart'].''.$_POST['jourdepart'];		
		$idagent = (int)$_SESSION['user_id'];
		$idagence = (int)$_SESSION['agence_user_id'];
Je les valide via des tests du genre :
if($email === FALSE)
					 {
					 	echo '<spam class="texteerreur">Error : The supplied e-mail is not valid !</spam>';
					 }
		elseif($email === NULL)	 	
					 {
						echo '<spam class="texteerreur">Error : Please insert e-mail !</spam>';
					 }
		elseif(strlen($destination) == 0)
					{
						echo '<spam class="texteerreur">Error : Please insert destination !</spam>';
					}
		elseif($po === 0)
					{
						echo '<spam class="texteerreur">Error : Please insert PO !</spam>';
					}
		elseif($somme === 0)
					{
						echo '<spam class="texteerreur">Error : Please insert sum !</spam>';
					}						   
		elseif($fournisseur === 0)
			{
				echo '<spam class="texteerreur">Error : Please insert supplier !</spam>';
			}		
		elseif($datedepart < $dateachat)
			{
				echo '<spam class="texteerreur">Error : The departure date is before the date of purchase !</spam>';
			}	
Dois-je travailler de cette façon ?

Au niveau des variables de Session, genre : $_SESSION['user_id'];

Dois-je les valider ? Si oui vaut-il mieux utiliser un "!empty" ou "isset" ?

Dois-je faire attention à la durée de la session ? Si expirée, je redirige vers la page de login.

Je n'ai pas envi de tomber dans la survalidation mais je n'ai pas non plus envi de commettre une grave erreur de sécurité.

D'avance, merci pour vos conseils.

Amicalement,
Cerbère.