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 10/03/2008, 15h17   #1
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 319
Points : 3 319
Par défaut [Sécurité] protéger les variables $_SERVER

Bonjour, existe il une manière sûre d'utiliser les variable du type $_SERVER ?

j'utilise entre autres $_SERVER['REQUEST_URI'] pour garder en mémoire la dernière page visitée et effectuer une action si la prochaine page chargée est différente mais il semblerais que certains utilisateurs arrive à outrepasser cette limitation.
J'imagine que cela est possible en envoyant sa propre requête HTTP au server.

Si rien n'est possible de ce coté là avez vous une solution fiable pour vérifier si la page courante est différente de la page précédente ? (mon but étant d'éviter le refresh auto d'une même page pour effectuer en boucle une action).

Actuellement mon script est le suivant :
Code :
1
2
3
4
5
6
7
8
<?php
if(htmlentities($_SERVER['REQUEST_URI']) != $_SESSION['prevPage'])
{
   //action car page chargée différente de la page précédente contenu dans $_SESSION
}
// J'enregistre la page actuelle
$_SESSION['prevPage'] = htmlentities($_SERVER['REQUEST_URI'])
?>
merci
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 18h53   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Il doit y avoir une erreur/confusion : la partie REQUEST_URI correspond au chemin de la ressource telle qu'elle a été demandée dans la requête HTTP. On ne peut donc pas la "réinventer". Ne vouliez-vous pas parler de HTTP_REFERER (marquant l'adresse de "provenance"), qui elle, n'est en effet, pas viable.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 19h03   #3
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 319
Points : 3 319
Oui en effet je me suis un peu emmêler les pinceaux, j'avais fait de tête mon code de vérification qui pose problème. Voici la version exact :

Code :
1
2
3
4
5
6
if($_SESSION['PageActuelle']!='')
	$referer = $_SESSION['PageActuelle'];
else
        $referer = $_SERVER['HTTP_REFERER'];
 
$_SESSION['PageActuelle'] = htmlentities('http://www.monsite.com'.$_SERVER['REQUEST_URI']);
Il y'a donc bien un HTTP_REFERER qui lui semble être modifiable assez facilement.
Y'a t'il une solution pour corriger ca ?

Merci
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 19h24   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Non mais si c'est à but interne et absolument nécessaire, vous pouvez utiliser votre session à but de remplacement (c'est ce que vous semblez avoir fait).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 16h42   #5
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 319
Points : 3 319
Donc au mieux je passe par REQUEST_URI que je stock en session plutôt que d'utiliser le HTTP_REFERER ?
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 18h03   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Oui si cela est nécessaire. Mais bien évidemment vous serez ici limités aux scripts de votre propre site.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h51.


 
 
 
 
Partenaires

Hébergement Web