Précédent   Forum des professionnels en informatique > PHP > Outils
Outils Forum d'entraide sur les outils pour développeurs PHP : EDI, installation, administration... Avant de poster : FAQ outils, toutes les FAQ PHP et les comparatifs
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 26/04/2006, 22h07   #1
Invité de passage
 
Inscription : décembre 2003
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 4
Points : 1
Points : 1
Par défaut [Directives] register_globals = ON sur l'hébergeur JEXISTE

Bonsoir !

je suis abonné depuis peu chez l'hébergeur JEXISTE (bon ou mauvais c'est pas ma question ;-) )

Mais j'ai remarqué après quelques jours que le register_globals est à ON ??? http://demo.jexiste.fr/

1ere question :

n'est ce pas dangeureux de laisser cela sur ON ???


2eme question :

Si il refuse de mettre register_globals = OFF, quelles sont les possibilités pour qu'une variable dans URL ne utilisable qu'avec $_GET ???



Merci beaucoup !!


Greg
phoenix_984 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2006, 22h22   #2
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
et bienvenue !

1.
oui. A toi de bien programmer.

2.
En y accèdant par $_GET.
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2006, 22h33   #3
Invité de passage
 
Inscription : décembre 2003
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 4
Points : 1
Points : 1
je vais m'expliquer plus en détails.

je récupère les droits d'un utilisateur dans une table en fonction des identifiant donné par l'utilisateur.

Les différents droits sont "admin", "vip_user" et "user"

Dans le cas d'un administrateur qui se connecte $user_right sera égal à admin

dans un script php j'affiche ou non des options en fonction du droit.

Ex:

<? if ($user_right="admin"){
echo " lien vers l'administration du site";
}
?>

mais n'importe qui peu avoit accès à cet option si l'url suivante est indiquée

http://www.monsite.com/index.php?user_right=admin



Pour récupérer la valeur d'une variable je n'ai pas besoin de $_GET puisque justement register_globals est à ON.



(merci pour l'accueil chaleureux !!!!!)


Greg
phoenix_984 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2006, 22h37   #4
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

En effet, ça peut avoir des conséquences fâcheuses sur l'exécution de tes scripts. Peut-être peux-tu invoquer la fonction ini_set() afin de modifier la configuration en début de script (mais j'ai comme un doute) ?
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2006, 22h53   #5
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Comment est défini $user_right ?
Tu peux très bien le pré-initialiser :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<?php
 
$user_right = 'user'; //par defaut on est un user
if (machin) {
   $user_right = 'vip'; //On peut etre un vip
}
if (bidule) {
   $user_right = 'admin'; //On a tout les droits
}
 
?>
Du coup si tu appelles ce bout de code à chaque fois, la variable préalablement valuée par register_globals ne sera pas pris en compte, car écrasées par 'user'.

D'autres éléments de réponse sur la doc officielle :
http://php.net/register_globals
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2006, 23h24   #6
Invité de passage
 
Inscription : décembre 2003
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 4
Points : 1
Points : 1
il y a bien la fonction php_flag register_globals 0 à mettre dans le .htaccess mais j'ai une INTERNAL SERVER ERROR
phoenix_984 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2006, 07h58   #7
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
les .htaccess ne sont pas acceptés chez tous les hébergeurs.
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2006, 12h51   #8
Invité de passage
 
Inscription : décembre 2003
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 4
Points : 1
Points : 1
Merci beaucoup j'ai donc résolu le problème comme Mr N. me l'avais conseillé.

Par défaut donc $user_right = user

C'était tout simple

le .htaccess ne fonctionne effectivement pas chez JEXISTE !

Merci à vous !
phoenix_984 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 02h53.


 
 
 
 
Partenaires

Hébergement Web