Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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 15/10/2011, 23h59   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 3
Points : 3
Par défaut Questions à propos de la sécurité en PHP

Bonjour,
J'ai 2 questions à vous poster concernant la sécurité en PHP.
1) Il est vivement conseillé de mettre la fonction htmlspecialchars ou htmlentities dans la variable serveur $_SERVER['PHP_SELF'] puisqu'elle retourne la variable $_SERVER['PATH_INFO'].
Mais exists-il une liste des variables qui retournent cette variable ($_SERVER['PATH_INFO']), car sur le site officiel (php.net) rien est indiqué.

2) D'après vous laquelle des trois principals méthodes qui permet de rendre inoffensif les balises xml (htmlspecialchars, htmlentities, strip_tags) est préférable à utiliser (même si leurs utilités sont différentes).

Merci
matios est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2011, 05h27   #2
Membre Expert
 
Inscription : septembre 2010
Messages : 1 244
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 244
Points : 1 568
Points : 1 568
$_SERVER['PATH_INFO'] n'est pas souvent renseignée, évites de l'utiliser.

Pour protéger les variables à l'affichage (typiquement avec echo) on utilise htmlspecialchars ou htmlentities. Tu fais comme tu veux, perso j'utilise htmlspecialchars car c'est suffisant et il n'y a pas besoin de spécifier l'encodage si on travaille en utf-8.

strip_tags est pour des besoins spécifiques (on ne l'utilise pas communément pour remplacer une des deux fonctions ci-dessus, mais parce qu'on à un besoin particulier de supprimer les balises).
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2011, 13h31   #3
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 3
Points : 3
Merci pour votre réponse.
Savez-vous s'il faut également protéger la variable $_SERVER['REQUEST_URI’] comme c'est le cas avec $_SERVER['PHP_SELF'] (c'est pour cela que je voudrais savoir les variables qui retournent $_SERVER['PATH_INFO']).
matios est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2011, 17h01   #4
Membre Expert
 
Inscription : septembre 2010
Messages : 1 244
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 244
Points : 1 568
Points : 1 568
Arrête de te prendre la tête avec cette histoire de variables qui retournent paht_info
La règle est de protéger toutes les variables (avec htmlspecialchars ou htmlentities) que l'on affiche. Donc derrière un echo tu mets systématiquement htmlspecialchars :
Code :
echo htmlspecialchars($ma_variable)
.. quelque soit la variable que tu affiche. Bien entendu tu peux faire la distinction entre les variables que tu définis toi-même et les variables modifiables par le visiteur, mais bon en général cela ne gêne en rien de l'employer systématiquement. Et si occasionnellement ça gêne tu t'en apercevras et tu pourras faire du cas par cas.

Voilà pour l'affichage, ensuite restent les autres pb de sécurité pour toutes les fonctions qui éventuellement font appel à des paramètres utilisateur : include/require, téléchargement de fichiers en provenance du serveur, téléchargement de fichiers vers le serveur, injections sql (liste non exhaustive).
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h17.


 
 
 
 
Partenaires

Hébergement Web