Définir les variables $_SERVER
berok37
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Jemau -
Jemau -
Bonjour,
je débute dans le webmastering, en linux et en php.
je pense avoir bien résumé mon niveau.....
Maintenant voici mon problème :
depuis quelques semaines j'essais de trouver une solution pour pouvoir utiliser l'authentification PHP sur le petit serveur que j'i monté.
j'explique : j'ai créé une page en php où l'utilisateur distant peut s'identifier avec son login et son mot de passe, et ainsi acceder à des pages php "restreintes".
maintenant il y a aussi sur le serveurs des dossiers disponibles mais restreints eux-aussi qui nécessitent une authentification HTTP ou PHP (je ne sais pas laquelle c'est).
berf, cette authentification est définie dans mon fichier .conf du serveur avec ceci :
<Location /test>
Options +Indexes +Includes +FollowSymLinks
AuthType Basic
AuthName "ACCES PRIVE"
AuthMySQLHost hote_defini
AuthMySQLDB ma_base
AuthMySQLUserTable ma_table
AuthMySQLEnable On
AuthMySQLUser user
AuthMySQLPassword le_mdp_de_table
AuthMySQLNameField user_name
AuthMySQLPasswordField user_passwd
AuthMySQLNoPasswd Off
AuthMySQLPwEncryption none
AuthMySQLGroupTable user_info
AuthMySQLGroupField user_group
AuthMySQLAuthoritative On
<Limit GET POST>
require valid-user
# require group admin user
</limit>
</Location>
mais le souci est que même si l'utilisateur s'est identifié sur le serveur, il a accès aux pages restreintes, mais dès qu'il veut aller dans un dossier restreint, le popup du serveur apparait et lui demande une authentification.
après quelques recherches sur le net, mon problème semble être dans la définition des variables $_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"] et $SERVER["AUTH_TYPE"].
j'ai essayé en utilisant :
$_SERVER["PHP_AUTH_USER"] = $_POST['user_name']
putenv($_SERVER["PHP_AUTH_USER"] = $_POST['user_name'])
$_SERVER["PHP_AUTH_USER"] = $_SESSION['user_name']
mais rien y fait, je n'y arrive pas.
je precise que les variables de session fonctionnent bien et sont bien transmises de pages en pages.
j'ai lu également que cela pouvait provenir du register_globals qui serait sur off, mais ne voulant pas faire de connerie et planter ce que j'ai reussi à faire fonctionner, je préfère demander un coup de main....
D'avance un grand merci à ceux qui prendront un peu de temps pour venir à mon aide.......
je débute dans le webmastering, en linux et en php.
je pense avoir bien résumé mon niveau.....
Maintenant voici mon problème :
depuis quelques semaines j'essais de trouver une solution pour pouvoir utiliser l'authentification PHP sur le petit serveur que j'i monté.
j'explique : j'ai créé une page en php où l'utilisateur distant peut s'identifier avec son login et son mot de passe, et ainsi acceder à des pages php "restreintes".
maintenant il y a aussi sur le serveurs des dossiers disponibles mais restreints eux-aussi qui nécessitent une authentification HTTP ou PHP (je ne sais pas laquelle c'est).
berf, cette authentification est définie dans mon fichier .conf du serveur avec ceci :
<Location /test>
Options +Indexes +Includes +FollowSymLinks
AuthType Basic
AuthName "ACCES PRIVE"
AuthMySQLHost hote_defini
AuthMySQLDB ma_base
AuthMySQLUserTable ma_table
AuthMySQLEnable On
AuthMySQLUser user
AuthMySQLPassword le_mdp_de_table
AuthMySQLNameField user_name
AuthMySQLPasswordField user_passwd
AuthMySQLNoPasswd Off
AuthMySQLPwEncryption none
AuthMySQLGroupTable user_info
AuthMySQLGroupField user_group
AuthMySQLAuthoritative On
<Limit GET POST>
require valid-user
# require group admin user
</limit>
</Location>
mais le souci est que même si l'utilisateur s'est identifié sur le serveur, il a accès aux pages restreintes, mais dès qu'il veut aller dans un dossier restreint, le popup du serveur apparait et lui demande une authentification.
après quelques recherches sur le net, mon problème semble être dans la définition des variables $_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"] et $SERVER["AUTH_TYPE"].
j'ai essayé en utilisant :
$_SERVER["PHP_AUTH_USER"] = $_POST['user_name']
putenv($_SERVER["PHP_AUTH_USER"] = $_POST['user_name'])
$_SERVER["PHP_AUTH_USER"] = $_SESSION['user_name']
mais rien y fait, je n'y arrive pas.
je precise que les variables de session fonctionnent bien et sont bien transmises de pages en pages.
j'ai lu également que cela pouvait provenir du register_globals qui serait sur off, mais ne voulant pas faire de connerie et planter ce que j'ai reussi à faire fonctionner, je préfère demander un coup de main....
D'avance un grand merci à ceux qui prendront un peu de temps pour venir à mon aide.......
A voir également:
- Définir les variables $_SERVER
- Définir google comme page d'accueil - Guide
- Definir foyer - Accueil - Guide streaming
- Définir retrait - Guide
- Définir liste déroulante excel - Guide
- Définir envoyé - Accueil - Messagerie instantanée
2 réponses
Pour ajouter une variables $SERVER["NOUVELLEVARIABLE"], tu peux ajouter dans le fichier httpd.conf
SetEnv NOUVELLEVARIABLE valeur
et, bien entendu, il faut redémarrer le serveur httpd par la suite
SetEnv NOUVELLEVARIABLE valeur
et, bien entendu, il faut redémarrer le serveur httpd par la suite
salut,
les variables $_SERVER sont des variables prédéfinis, comme te l'explique cette page :
https://www.php.net/reserved.variables
tu ne peut pas les modifiés.
pour le reste je ne peut pas t'aider
les variables $_SERVER sont des variables prédéfinis, comme te l'explique cette page :
https://www.php.net/reserved.variables
tu ne peut pas les modifiés.
pour le reste je ne peut pas t'aider