OVH Cloud OVH Cloud

PHP et page securisee

6 réponses
Avatar
nb
Bonjour,

Je sais créer une page avec login + mot de passe pour aller dans une
page dite "administration".
Mais si cette page est nommé index.php (celle avec login et mot de
passe, nommé par exemple mapage.php) et l'autre admin.php la question
que je me pose est :
Comment faire en sorte que l'on n'accède pas à la page admin.php en
faisant http://index/admin.php ?
C'est-à-dire que la page avec login et mot de passe est inutile.

Merci

6 réponses

Avatar
Kalimbra
le mieux a faire est de créer une session avec une variable dont tu
vérifies la présence à chaque page..

tu déclares la variable de session apres le login, et sur chaque page tu
vérifies .. si pas ok, tu renvois sur la page de login..

PAr exemple

Page apres login

<?PHP
session_start();
$_SESSION["Autorisation"]="alpha";
?>


sur toutes les pages..

<?php
session_start();
if($_SESSION["Autorisation"]!="alpha"){
header("location:erreur.php");
}

?>
Avatar
John Gallet
Bonjour,

Comment faire en sorte que l'on n'accède pas à la page admin.php en
faisant http://index/admin.php ?
C'est-à-dire que la page avec login et mot de passe est inutile.


Bon, si j'ai bien compris, tu fais ton authentification sur une première
page et elle permet d'accéder à une autre page, protégée.

Donc de deux choses l'une : ou tu vérifies sur chaque page protégée que
le login+pass sont valides (et ils transitent à chaque fois) ou tu fais
cette vérification par rapport à un jeton à durée de vie limitée que tu
attribues après la première vérification : ça s'appelle une session. Tu
peux les gérer manuellement (une table, trois requêtes SQL et c'est
finit) ou en utilisant les sessions natives de PHP4 (cf le manuel de
PHP).

a++
JG

Avatar
Nudrema
nb wrote:

Bonjour,

Je sais créer une page avec login + mot de passe pour aller dans une
page dite "administration".
Mais si cette page est nommé index.php (celle avec login et mot de
passe, nommé par exemple mapage.php) et l'autre admin.php la question
que je me pose est :
Comment faire en sorte que l'on n'accède pas à la page admin.php en
faisant http://index/admin.php ?
C'est-à-dire que la page avec login et mot de passe est inutile.

Merci


Tu ne dois pas te contenter d'une page "mot de passe", il faut
que tu vérifies ce mot de passe sur chacune des pages à
sécuriser. Donc tu peux le stocker sous forme hashée dans un
cookie par exemple, ou via les sessions, etc.

cf http://phpdebutant.org/article47.php (entre autres)

--
Nudrema (S.F.)
http://tw.o0o.ch/
http://mangeur-de-cigogne.info/

Avatar
[G2B] Fylefou
Sinon moi je te propose un .htaccess et un .htpasswd
tu peux récupérer le login tappé avec
$_SERVER["REMOTE_USER"]

mais tu peux tester foreach($_SERVER as $key=>$value) echo
"$key=>$value<br>";

tu verra exactement comment acceder au login et pass

voila







"nb" a écrit dans le message de
news:407253c1$0$19477$
Bonjour,

Je sais créer une page avec login + mot de passe pour aller dans une
page dite "administration".
Mais si cette page est nommé index.php (celle avec login et mot de
passe, nommé par exemple mapage.php) et l'autre admin.php la question
que je me pose est :
Comment faire en sorte que l'on n'accède pas à la page admin.php en
faisant http://index/admin.php ?
C'est-à-dire que la page avec login et mot de passe est inutile.

Merci


Avatar
Jean-Marc Molina
Je sais créer une page avec login + mot de passe pour aller dans une page
dite "administration".


Pour en apprendre plus sur le sujet, un petit didacticiel :
http://www.phpteam.net/affiche.php?quoi=authentification1

Ça t'évitera de faire des « erreurs de débutant ». Le développement d'un
système d'authentication est tout sauf quelque chose d'évident ! Il s'agit
de sécurité après tout. C'est du sérieux :).

J'espère que ce didacticiel va t'aider et que tu vas en apprendre plus sur
le sujet en développement ton petit système !

JM

Avatar
Michel
Moi j'ai pas pris de chance.

- J'ai un module qui est sur chaque page qui regarde si l'utilisateur est
valide.
- À la connection j'envoie un jeton encrypter d'une duré limité
- J'envoie un cookie aussi
- Le tout dans une base de donnée encrypté

--
7000 JEUX