Page d'authentification avec redirection
Fermé
Bonjour,
Je viens de créer un site en html avec Dreamweaver et j'aurai besoin de créer une page d'authentification avec redirection vers une page précise selon l'utilisateur qui se connecte... hors je ne sais absolument pas comment faire car c'est impossible avec un htaccess... Je pense que c'est un développement en PHP mais j'y arrive pas !
Pourriez-vous m'aider ??
Merci
Je viens de créer un site en html avec Dreamweaver et j'aurai besoin de créer une page d'authentification avec redirection vers une page précise selon l'utilisateur qui se connecte... hors je ne sais absolument pas comment faire car c'est impossible avec un htaccess... Je pense que c'est un développement en PHP mais j'y arrive pas !
Pourriez-vous m'aider ??
Merci
A voir également:
- Page d'authentification avec redirection
- Supprimer une page word - Guide
- Double authentification google - Guide
- Mettre google en page d'accueil - Guide
- Imprimer tableau excel sur une page - Guide
- Word numéro de page 1/2 - Guide
21 réponses
Utilisateur anonyme
Modifié par baladur13 le 4/02/2011 à 17:29
Modifié par baladur13 le 4/02/2011 à 17:29
Bonjour,
Pour l'authentification vous pouvez effectivement utiliser un fichier .htaccess associé à un .htpasswd
Le htaccess peut ressembler à ça :
AuthName protection
AuthUserFile /.htpasswd # chemin complet du fichier .htpasswd
AuthGroupFile /dev/null
AuthType Basic
<limit GET POST>
require valid-user
</Limit>
Le htpasswd ressemble à ceci :
login:password
où login est le nom requis pour accéder et password le mot de passe crypté
Seul hic, ça autorise l'accès à un répertoire, c'est bon ou pas, c'est tout.
Pour une version plus complexe, je conseille effectivement un code PHP, une page d'authentification donc un formulaire avec utilisateur/mot de passe et en fonction de l'utilisateur, à condition que le mot de passe soit bon, redirection vers une page précise.
Pour la redirection utiliser un header('location:'.$page);
$page étant la page ou vous vouller aller.
Cordialement
Signature non conforme - Publicité supprimée Modération CCM
Pour l'authentification vous pouvez effectivement utiliser un fichier .htaccess associé à un .htpasswd
Le htaccess peut ressembler à ça :
AuthName protection
AuthUserFile /.htpasswd # chemin complet du fichier .htpasswd
AuthGroupFile /dev/null
AuthType Basic
<limit GET POST>
require valid-user
</Limit>
Le htpasswd ressemble à ceci :
login:password
où login est le nom requis pour accéder et password le mot de passe crypté
Seul hic, ça autorise l'accès à un répertoire, c'est bon ou pas, c'est tout.
Pour une version plus complexe, je conseille effectivement un code PHP, une page d'authentification donc un formulaire avec utilisateur/mot de passe et en fonction de l'utilisateur, à condition que le mot de passe soit bon, redirection vers une page précise.
Pour la redirection utiliser un header('location:'.$page);
$page étant la page ou vous vouller aller.
Cordialement
Signature non conforme - Publicité supprimée Modération CCM
Merci pour votre réponse mais je savais déjà faire pour le htacces étant donné que c'était ce que j'utilisais avant mais ne pouvant plus lister les sociétés, j'ai besoin de TOUT le code PHP pour m'en sortir avec la redirection qui va selon les identifiants saisis.
Utilisateur anonyme
Modifié par baladur13 le 4/02/2011 à 17:29
Modifié par baladur13 le 4/02/2011 à 17:29
Je vous bricole queslque chose de sommaire pour vous donner une idée
Cordialement
Signature non conforme - Publicité supprimée Modération CCM
Cordialement
Signature non conforme - Publicité supprimée Modération CCM
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
Modifié par baladur13 le 4/02/2011 à 17:30
Modifié par baladur13 le 4/02/2011 à 17:30
Voilà, attention, c'est juste pour montrer comment ça marche.
C'est une passoire à sécurité, et puis c'est moche.
Cordialement
<?php
$users = Array('toto'=>'titi','lolo'=>'lili'); // Liste des login/passwords
$pages = Array('toto'=>'page1.html','lolo'=>'page2.html'); // Page de redirection en fonction du user
$message = '';
if (array_key_exists('login',$_POST)) {
if (array_key_exists($_POST['login'],$users)) {
if ($_POST['pwd']==$users[$_POST['login']]) {
header('location:'.$pages[$_POST['login']]);
exit;
} else {
$message ='mot de passe non valide';
}
} else {
$message ='utilisateur non valide';
}
}
print <<<FIN
<html>
<head>
</head>
<body>
<form method="post">
<table>
<tr>
<td><input type="text" name="login"></td>
</tr>
<tr>
<td><input type="text" name="pwd"></td>
</tr>
<tr>
<td><input type="submit" value="Ok"></td>
</tr>
</table>
</form>
<br/>$message
</body>
FIN;
?>
Signature non conforme - Publicité supprimée Modération CCM
C'est une passoire à sécurité, et puis c'est moche.
Cordialement
<?php
$users = Array('toto'=>'titi','lolo'=>'lili'); // Liste des login/passwords
$pages = Array('toto'=>'page1.html','lolo'=>'page2.html'); // Page de redirection en fonction du user
$message = '';
if (array_key_exists('login',$_POST)) {
if (array_key_exists($_POST['login'],$users)) {
if ($_POST['pwd']==$users[$_POST['login']]) {
header('location:'.$pages[$_POST['login']]);
exit;
} else {
$message ='mot de passe non valide';
}
} else {
$message ='utilisateur non valide';
}
}
print <<<FIN
<html>
<head>
</head>
<body>
<form method="post">
<table>
<tr>
<td><input type="text" name="login"></td>
</tr>
<tr>
<td><input type="text" name="pwd"></td>
</tr>
<tr>
<td><input type="submit" value="Ok"></td>
</tr>
</table>
</form>
<br/>$message
</body>
FIN;
?>
Signature non conforme - Publicité supprimée Modération CCM
Bon...
Le formulaire avec les cases pour l'identifiant et le mot de passe c'est OK mais quand je clique sur connecter, ça fait rien...
Où est ce que je dois mettre le code PHP ? Dans une page à part ?
Le formulaire avec les cases pour l'identifiant et le mot de passe c'est OK mais quand je clique sur connecter, ça fait rien...
Où est ce que je dois mettre le code PHP ? Dans une page à part ?
Utilisateur anonyme
Modifié par baladur13 le 4/02/2011 à 17:30
Modifié par baladur13 le 4/02/2011 à 17:30
Le code que je vous ai envoyé doit être dans une page à part genre index.php, c'est à dire la première page ouverte quand on se connecte au site
Cordialement
Signature non conforme - Publicité supprimée Modération CCM
Cordialement
Signature non conforme - Publicité supprimée Modération CCM
C'est pas possible ça... je m'explique...
C'est un site en html, donc la première page du site est un index.html et il faut aller dans un menu spécial pour avoir la page d'authentification...
Est ce que celà vous dérangerez que l'on communique par un autre biais que par le forum ?
Cordialement,
C'est un site en html, donc la première page du site est un index.html et il faut aller dans un menu spécial pour avoir la page d'authentification...
Est ce que celà vous dérangerez que l'on communique par un autre biais que par le forum ?
Cordialement,
Utilisateur anonyme
Modifié par baladur13 le 4/02/2011 à 17:30
Modifié par baladur13 le 4/02/2011 à 17:30
Sans problème, mais ce serait dommage de ne pas en faire profiter les autres non ? J'ai un compte gmail, on peut chatter dessus.
Si je comprends bien vous vous que le site s'affiche, et que si la personne se connecte elle puisse accéder à certaines partir des pages qui seront cachées ou interdites aux autres utilisateurs, voir même en fonction du login autorisrer ou non certaines pages ?
C'est bien ça ?
Signature non conforme - Publicité supprimée Modération CCM
Si je comprends bien vous vous que le site s'affiche, et que si la personne se connecte elle puisse accéder à certaines partir des pages qui seront cachées ou interdites aux autres utilisateurs, voir même en fonction du login autorisrer ou non certaines pages ?
C'est bien ça ?
Signature non conforme - Publicité supprimée Modération CCM
Je vous explique le fonctionnement du site.
C'est en fait un simple site de présentation de société avec un menu qui dirige vers les offres, les produits et autres fonctions de la dite société et, en fin de menu, j'ai un lien de connexion qui, à la base, affichait une page avec les sociétés pour lesquelles la société en question travaillait et qui, en cliquant sur le nom d'une société, ouvrait une page d'authentification pour accéder aux documents propres à la société. Hors là mon responsable souhaite que les sociétés ne soient plus lister et que, en cliquant sur le lien "Connexion" on est une page d'authentification qui dirige vers les dossiers propres à chaque société en fonction du login et password saisis.
Je ne sais pas si je suis claire...
C'est en fait un simple site de présentation de société avec un menu qui dirige vers les offres, les produits et autres fonctions de la dite société et, en fin de menu, j'ai un lien de connexion qui, à la base, affichait une page avec les sociétés pour lesquelles la société en question travaillait et qui, en cliquant sur le nom d'une société, ouvrait une page d'authentification pour accéder aux documents propres à la société. Hors là mon responsable souhaite que les sociétés ne soient plus lister et que, en cliquant sur le lien "Connexion" on est une page d'authentification qui dirige vers les dossiers propres à chaque société en fonction du login et password saisis.
Je ne sais pas si je suis claire...
Utilisateur anonyme
Modifié par baladur13 le 4/02/2011 à 17:31
Modifié par baladur13 le 4/02/2011 à 17:31
Dans ce cas c'est simple.
Le lien connexion envoie vers une page connexion.php
dans laquelle il y a le code que je vous ai envoyé avant. Selon le login vous pointez ensuite vers la page d'accueil de chaque client (ces dossiers sont des pages web ?) des dits clients.
Seul hic, sécurité zéro. Car un malin peut très bien aller directement à l'adresse de la page du client sans passer par la connexion.
Dans ces cas là il faut ajouter dans toutes les pages 'sécurisées' un bout de code PHP qui vérifie si la personne a le droit d'être là en se souvenant de la première connexion. Ca devient un peu plus chaud pour un débutant en PHP.
Votre boss ne veut pas vous payer une formation PHP 8-)
Signature non conforme - Publicité supprimée Modération CCM
Le lien connexion envoie vers une page connexion.php
dans laquelle il y a le code que je vous ai envoyé avant. Selon le login vous pointez ensuite vers la page d'accueil de chaque client (ces dossiers sont des pages web ?) des dits clients.
Seul hic, sécurité zéro. Car un malin peut très bien aller directement à l'adresse de la page du client sans passer par la connexion.
Dans ces cas là il faut ajouter dans toutes les pages 'sécurisées' un bout de code PHP qui vérifie si la personne a le droit d'être là en se souvenant de la première connexion. Ca devient un peu plus chaud pour un débutant en PHP.
Votre boss ne veut pas vous payer une formation PHP 8-)
Signature non conforme - Publicité supprimée Modération CCM
Je ne pense pas que les personnes avec qui nous travaillons s'embêtent à recopier le lien qui, de surcroit, invisible car je n'affiche pas le détail de la navigation dans la barre d'adresse.
Ensuite... pour chaque client, il y a une page propre "d'index" qui est dans le dossier propre du client.
Donc admettons que je reprenne votre code dans une page que je vais enregistrer sous "connexion.php"... que dois-je faire ? Car le code qui vous m'avez fournit me renvoie des erreurs :(
Je dois passer pour une vraie blonde XD
Ensuite... pour chaque client, il y a une page propre "d'index" qui est dans le dossier propre du client.
Donc admettons que je reprenne votre code dans une page que je vais enregistrer sous "connexion.php"... que dois-je faire ? Car le code qui vous m'avez fournit me renvoie des erreurs :(
Je dois passer pour une vraie blonde XD
Utilisateur anonyme
Modifié par baladur13 le 4/02/2011 à 17:31
Modifié par baladur13 le 4/02/2011 à 17:31
Quel message d'erreur avez-vous ?
Normalement il suffit de modifier cette ligne :
$pages = Array('toto'=>'page1.html','lolo'=>'page2.html'); // Page de redirection en
et de mettre derrière chaque login le chemin relatif de la page d'index du client
pour le login 'toto' mettre à la place de page1.html le chemin relatif par exemple client_toto/index.html si la page d'index du client se trouve dans le répertoire client_toto et se nomme index.html, le répertoire client_toto devant être bien entendu dans le répertoire du serveur web.
si vous modifiez les login il faudra aussi modifier la ligne précédente avant
$users = Array('toto'=>'titi','lolo'=>'lili'); // Liste des login/passwords
et remplacer toto par le login et titi par le mot de passe bien entendu
Ceci dit j'espère qu'il n'y a pas de confidentialité dans vos données, car si votre serveur web n'est pas sécurisé n'importe qui peut naviguer sur les répertoires. L'authentification ne servirait plus à rien.
Signature non conforme - Publicité supprimée Modération CCM
Normalement il suffit de modifier cette ligne :
$pages = Array('toto'=>'page1.html','lolo'=>'page2.html'); // Page de redirection en
et de mettre derrière chaque login le chemin relatif de la page d'index du client
pour le login 'toto' mettre à la place de page1.html le chemin relatif par exemple client_toto/index.html si la page d'index du client se trouve dans le répertoire client_toto et se nomme index.html, le répertoire client_toto devant être bien entendu dans le répertoire du serveur web.
si vous modifiez les login il faudra aussi modifier la ligne précédente avant
$users = Array('toto'=>'titi','lolo'=>'lili'); // Liste des login/passwords
et remplacer toto par le login et titi par le mot de passe bien entendu
Ceci dit j'espère qu'il n'y a pas de confidentialité dans vos données, car si votre serveur web n'est pas sécurisé n'importe qui peut naviguer sur les répertoires. L'authentification ne servirait plus à rien.
Signature non conforme - Publicité supprimée Modération CCM
Déjà, je sais pas si positif ou pas mais je n'ai pas de message d'erreur...
J'ai placé d'abord le code html pour la création des encadrés de login et j'ai mis en dessus le code...
Quand je teste ma page, j'ai donc bien mes deux rectangles et le bouton "Ok" mais en dessus, je vois le code php alors que sur ma page de code, je vois un petit logo jaune "PHP"....
Alors soit j'ai du mal soit je suis blonde soit les deux...
J'ai placé d'abord le code html pour la création des encadrés de login et j'ai mis en dessus le code...
Quand je teste ma page, j'ai donc bien mes deux rectangles et le bouton "Ok" mais en dessus, je vois le code php alors que sur ma page de code, je vois un petit logo jaune "PHP"....
Alors soit j'ai du mal soit je suis blonde soit les deux...
Voilà ce que j'ai à l'affichage dans DW :
[IMG]http://tinypic.com/images/goodbye.jpg[/IMG]
Ce que j'ai quand je teste ma page :
[IMG]http://tinypic.com/images/goodbye.jpg[/IMG]
[IMG]http://tinypic.com/images/goodbye.jpg[/IMG]
Ce que j'ai quand je teste ma page :
[IMG]http://tinypic.com/images/goodbye.jpg[/IMG]
Utilisateur anonyme
Modifié par baladur13 le 4/02/2011 à 17:31
Modifié par baladur13 le 4/02/2011 à 17:31
Il semblerait que vous n'ayez pas de PHP installé sur votre serveur tout simplement.
Quelle est votre config système ?
Signature non conforme - Publicité supprimée Modération CCM
Quelle est votre config système ?
Signature non conforme - Publicité supprimée Modération CCM
Utilisateur anonyme
Modifié par baladur13 le 4/02/2011 à 17:31
Modifié par baladur13 le 4/02/2011 à 17:31
Je n'ai pas msn mais skype ou gmail
Signature non conforme - Publicité supprimée Modération CCM
Signature non conforme - Publicité supprimée Modération CCM