Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/09/2007, 14h49   #1
Membre éclairé
 
Avatar de Space Cowboy
 
Inscription : avril 2005
Messages : 495
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 495
Points : 306
Points : 306
Par défaut [Sécurité] Question sur la sécurité d'un site vis à vis des variables externes

Pour le référencement, il est préférable de modifier le titre d'une page en fonction du contenu.

Est il dangereux d'afficher dans le titre les variables que l'on recoit en URL ?

Je passe toutes les variables entrant dans le site avec la fonction suivante :
function quote_smart($value)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
function quote_smart($value)
{
	// quote_smart
	if (get_magic_quotes_gpc())
		$value = stripslashes($value);
 
	// Protection si ce n'est pas un entier
	if (!is_numeric($value))
		$value = mysql_real_escape_string($value);
 
	return $value;
}
Si je recoit index.php?page=Article&rub=Ohoho
Le titre de la page devient : Site - Article - Ohoho
L'utilisateur peut mettre ce qu'il souhaite dans les variables, cela modifie le titre.

Est ce suffisant ?
Space Cowboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 15h03   #2
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
D'instinct, je dirai que ca ne géne pas plus que lorsque tu reçois d'autres variables pour faire des traitements.

Donc à priori, je ne vois pas de problèmes, mais peut etre que quelqu'un de plus calé pourra confirmer/infirmer.
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 15h45   #3
Membre éclairé
 
Avatar de Space Cowboy
 
Inscription : avril 2005
Messages : 495
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 495
Points : 306
Points : 306
C'est vrai que vu comme ca ...
Space Cowboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 16h12   #4
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
les données externes doivent être protégées avec "mysql_real_escape_string" quand elles sont utilisées dans une requête
par contre au moment de l'affichage dans une page HTML ce sont les balises qui peuvent poser problème donc pour ton titre utilise la fonction http://php.net/htmlspecialchars
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 21h03   #5
Membre à l'essai
 
Inscription : septembre 2004
Messages : 41
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 41
Points : 24
Points : 24
Citation:
Envoyé par Space Cowboy Voir le message
Pour le référencement, il est préférable de modifier le titre d'une page en fonction du contenu.
Oui, le titre de ta page doit être en rapport avec le contenu, sinon cela n'a aucun sens, que cela soit pour les visiteurs ou les gros moteurs.
Pour ce qui est de tes URLs, je te conseil vivement de les passer en rewriting. Cela te permettra de cacher tes variables et surtout d'avoir des URLs propres. Ce qui donnera plus de poid à tes pages pour être mieux référencé.
KOogar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2007, 00h02   #6
Membre émérite
 
Inscription : juin 2002
Messages : 1 013
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 1 013
Points : 959
Points : 959
Citation:
Envoyé par mathieu Voir le message
les données externes doivent être protégées avec "mysql_real_escape_string" quand elles sont utilisées dans une requête
par contre au moment de l'affichage dans une page HTML ce sont les balises qui peuvent poser problème donc pour ton titre utilise la fonction http://php.net/htmlspecialchars
+1
C'est cela qui est important !
pour préciser, par requête, mathieu veut dire une requête sur une base de données
francis m est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h43.


 
 
 
 
Partenaires

Hébergement Web