Sécurité php

Fermé
Fetide68 Messages postés 739 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 24 juin 2022 - 26 janv. 2010 à 14:43
 le père - 27 janv. 2010 à 15:40
Bonjour,

J'ai un script que j'ai adapté d'un autre trouvé sur le net, mais il réagit bizarement :

	class Securite	{
		function bdd($string) {
			if (ctype_digit($string)) {
				$string = intval($string);
			}
			else {
				$string = mysql_real_escape_string($string);
				$string = addcslashes($string,'%_');
			}
			return $string;
		}
		function html($string) {
			return htmlentities($string);
		}
	}


En faisant : echo Securite::bdd($_POST['prenom']) par exemple, ben il ne m'affiche rien, même si echo $_POST['prenom'] réagit !

C'est assez bon pour la sécurité de mon site peut-être, mais c'est bien limite !

3 réponses

Fetide68 Messages postés 739 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 24 juin 2022 32
27 janv. 2010 à 10:15
Pas d'avis ?
0
Fetide68 Messages postés 739 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 24 juin 2022 32
27 janv. 2010 à 15:18
Mon code est-il encore trop long ?
0
Ce code ne marche pas si tu n'as pas ouvert de connexion à ta base de données. Il utilise la fonction mysql_real_escape_string et cette fonction demande que tu sois connecté au serveur de bdd.
Si tu affichais les warning, tu aurais droit aux messages :

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in xxx.php on line 8

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in xxx.php on line 8
0