fonction sécurité insertion BDD

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 : fonction sécurité insertion BDD

Re: fonction sécurité insertion BDD

par two3d » 24 juin 2012, 01:26

Mais cela n'a aucune relation avec l'échappement anti-injection des variables dans une requête.
oui c'est vrai, dans tous les cas j'ai trouver la réponse à ma question.

Re: fonction sécurité insertion BDD

par xTG » 24 juin 2012, 00:03

C'est barbare ! O_o

Pour échapper un guillemet il y a des fonctions pour chaque driver de SGBD.
mysql => mysql_real_escape_string()
mysqli => mysqli_real_escape_string()
pgsql => pg_escape_string()
et ainsi de suite...

De plus il ne faut pas mélanger vérification de la données avec protection de la donnée.
On se doit de vérifier qu'on récupère un entier quand on souhaite un entier.
Mais cela n'a aucune relation avec l'échappement anti-injection des variables dans une requête.

Joli en tout cas le déterrage de topic pour tout ça...

Re: fonction sécurité insertion BDD

par two3d » 23 juin 2012, 23:50

ouai c'est vrai, pour les virgule je fait: preg_match("#^[0-9]\.[0-9]$#",$string) je pense qu'on peut aussi demander si ya un . ou une ,

en fait je suis arrivé sur ce sujet en tapant sur notre ami gogole "comment sécurisé une chaine avant la mise en BDD"

ce qui résume en fait ma recherche à: comment fait on pour coder un guillemet " en une sorte #truc machin (genre: #5454)

sur ce, est il mieu de faire " plutot que #machin ? et comment coder le fameux guillemet simple ' ?

EDIT: j'ai trouver, c'est tout simple: http://php.net/manual/fr/function.htmlspecialchars.php Merci

Re: fonction sécurité insertion BDD

par moogli » 23 juin 2012, 21:42

1 an trop tard et use less des fonctions native existe (comme celle déjà indiquée ou avec filter_var) !

Sans oublier que ton expression régulière se limite aux entier positif (espace n+) et ne définit donc pas un nombre (espace réel) donc peu mieux faire :mrgreen:

@+

Re: fonction sécurité insertion BDD

par two3d » 23 juin 2012, 21:32

C'est bien mais peut mieux faire.

pour la verif de chiffre je fait comme ceci:

preg_match("#^[0-9]+$#",$string)

Re: fonction sécurité insertion BDD

par moogli » 10 sept. 2011, 18:11

Salut,

Regarde l'extension PDO ;)

Pour ce qui est de ton code tu considère qu'un nombre a virgule est une chaîne ?
Or en SQL un float, s'écrit comme un entier (donc sans les ' autour')

J'aurais plutôt utiliser is_numeric pour tester s'il s'agit d'une chaîne ou d'un chiffre
http://fr2.php.net/manual/fr/function.is-numeric.php

@+

fonction sécurité insertion BDD

par alinalpes » 10 sept. 2011, 16:12

Bonjour,

je viens de finaliser 2 fonctions pour sécuriser mes insertions et retour de BDD, qu'en pensez vous ?
		// Insertion
	function bdd($string)
		{
			// On regarde si le type de string est un nombre entier (int) pour lui donner sa valeur numérique avec intval()
			if(ctype_digit($string))
			{
				$string = intval($string);
			}
			// Autres
			else
			{
				$string = mysql_real_escape_string($string);
				$string = htmlentities($string);
				
			}
				
			return $string;

		}
		// Retour des BDD
	 function html($string)
		{
			$string = htmlspecialchars($string);
			$string = stripslashes($string);
			return ($string);
		}
Merci