mot de passe pour accéder une page d'un site - PHP - Programmation
Marsh Posté le 04-11-2013 à 01:00:24
Normalement, le PHP n'est pas visible, car le PHP reste sur le serveur. C'est uniquement le HTML+Javascript+CCS qui est visible sur le poste client.
Marsh Posté le 04-11-2013 à 10:11:03
olivthill a écrit : Normalement, le PHP n'est pas visible, car le PHP reste sur le serveur. C'est uniquement le HTML+Javascript+CCS qui est visible sur le poste client. |
Je ne connais pas le php et je suis que débutant.
Williams
Marsh Posté le 04-11-2013 à 10:34:09
1- une page HTML avec un formulaire (mot de passe à rentrer) qui envoie la saisie à un fichier PHP.
2- un fichier PHP qui vérifie le mot de passe et qui inclue la page HTML protégée si le mot de passe est bon.
3- interdire l'accès à la page HTML protégée ou alors l'écrire directement dans le fichier PHP.
Marsh Posté le 04-11-2013 à 12:20:02
MaybeEijOrNot a écrit : 1- une page HTML avec un formulaire (mot de passe à rentrer) qui envoie la saisie à un fichier PHP. |
Si on peut faire de cette façon sans que le lien vers la 2ème page html et le mot de passe soit visible dans le code alors ceci devrait être bon, mais malheureusement je ne sais pas comment faire ceci
Williams
Marsh Posté le 04-11-2013 à 13:09:48
Pour le php, t'as pleins de tutos -> Google
Autre solution : mettre le mot de passe dans un fichier .htaccess
Marsh Posté le 04-11-2013 à 16:44:34
rufo a écrit : Pour le php, t'as pleins de tutos -> Google |
J'avais justement cherché avant même de poser la question. Mais avec un fichier .htaccess je n'ai trouvé que des solutions fonctionnant avec un pseudo en plus d'un mot de passe alors que c'est avec seulement un mot de passe que cherche. Puis c'est assez compliqué.
En PHP en voici une que j'ai mis en ligne : http://la.climatologie.free.fr/motpasse/login.php dont si on mets le bon mot de passe cela nous dirige vers view-source:http://la.climatologie.free.fr/motpasse/checkpw.php (page protégée mais ici c'est un exemple) et c'est dans ce fichier qu'il y a le mot de passe "swordfish".
Comment pourrait on faire pour que celui se dirige après ça vers le fichier exemple.htm car je ne connais pas le PHP ?
Williams
Marsh Posté le 04-11-2013 à 19:52:34
D'abord il faut interdire l'accès à ta page.html aux clients via un .htaccess :
Code :
|
Ensuite il suffit de l'inclure dans ton php si le mot de passe rentré est bon :
Code :
|
Marsh Posté le 04-11-2013 à 20:55:41
J'ai tenté de remplacer le code du fichier checkpw.php par ton 2ème code pour voir si cela allait bien diriger vers un des 2 fichiers suivant que le mot de passe soit bon ou faux mais ça ne fonctionne pas même quand le mot de pas faux cette fois.
Donc quel est le problème, n'y aurait-il pas des erreurs comme entre les ' et les " peut-être ??
merci
Williams
Marsh Posté le 04-11-2013 à 21:15:25
Non, ça fonctionne (je viens de tester chez moi).
Change le authname dans le .htaccess, peut-être que tu l'as déjà utilisé ailleurs (je viens de le changer, et j'ai viré les premières lignes qui ne servaient à rien).
Essaye de rajouter (mais ça m'étonnerait que ça fonctionne) : allow from localhost
Vérifie les chemins vers les fichiers.
Que se passe t-il exactement? Quel est le message d'erreur?
Marsh Posté le 04-11-2013 à 22:06:54
MaybeEijOrNot a écrit : Non, ça fonctionne (je viens de tester chez moi). |
Je n'ai pas encore testé le .htaccess, je parle du fichier checkpw.php que je test avant tout.
Si je mets exactement ton code pour le fichier checkpw.php voilà que si on entre aussi bien le bon mot de passe qu'un faux mot de passe, le fichier checkpw.php nous dit :
Citation : Warning: session_register() [function.session-register]: open(/mnt/109/sda/0/b/la.climatologie/sessions/sess_d586ff30dfe87026eae60fb3d142f24c, O_RDWR) failed: No such file or directory (2) in /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php on line 11 |
Suivant le code ci-dessous que j'ai mis pour le fichier checkpw.php :
Citation : <?php |
on a aussi le message ci-dessus quand on tappe le bon mot de passe au lieu d'aller dans page.htm ce que je ne comprends pas car la ligne en gras est correcte Par contre si on écrit un faux mot de passe, avec ce code ci-dessus cela va bien dans le fichier wrong.php
Williams
Marsh Posté le 04-11-2013 à 22:31:29
Ton deuxième code est faux, il utilise une fonction obsolète (session_register()) sans même commencer une session (session_start()) donc si tu mets le bon mdp il va tenter de lancer cette fonction obsolète => erreur.
Par contre pour mon code je ne vois pas, il met des warnings à propos de session_register() que je n'utilise pas. Il faudrait regarder ta version php :
Code :
|
Au pire on peut virer les sessions qui permettent de garder le mdp en quelque sorte le mdp en mémoire le temps que le client navigue.
EDIT : apparemment chez Free il faut que vous créez le dossier "sessions" à la racine de votre site pour faire fonctionner les sessions.
Marsh Posté le 04-11-2013 à 23:08:35
Je viens de mettre ton code dans le fichier checkpw.php pour faire un essais.
Si tu vas ici http://la.climatologie.free.fr/motpasse/login.php et mets un faux mot de passe ou bien swordfish tu n'as pas un message assez semblable à celui-ci :
Citation : Warning: session_start() [function.session-start]: open(/mnt/109/sda/0/b/la.climatologie/sessions/sess_dadf995b385bf3042705c73981c8788c, O_RDWR) failed: No such file or directory (2) in /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php on line 2 |
Car c'est ce que j'ai avec aussi bien avec le bon qu'un mauvais mot de passe.
Que voulez vous dire par le dossier "sessions" ??
Williams
Marsh Posté le 04-11-2013 à 23:17:16
MaybeEijOrNot a écrit : EDIT : apparemment chez Free il faut que vous créez le dossier "sessions" à la racine de votre site pour faire fonctionner les sessions. |
Les 3 premiers warnings seraient dus à ça, les 2 suivants c'est parce que tu n'as pas remplacé page.html par ta page souhaitée (page.html =/= page.htm par exemple), tu dois aussi changer page.html dans le .htaccess par ta page en question, et les 2 derniers warnings sont dus au même problème que les 3 premiers.
Si la création d'un dossier "sessions" à la racine de ton site ne suffit on essayera de le paramétrer comme dossier des sessions à l'aide de : http://php.net/manual/fr/function. [...] e-path.php
EDIT : faut juste que tu crées un dossier vide nommé "sessions" à la racine de ton site apparemment.
Marsh Posté le 04-11-2013 à 23:29:54
MaybeEijOrNot a écrit : |
Je te remercie après avoir fait ces 2 modifications (un dossier "sessions" puis remplacer page.html par page.htm) ceci fonctionne.
Je repasserais demain pour la suite.
bonne soirée
Williams
Marsh Posté le 01-02-2014 à 09:38:08
Bonjour
j'ai le même besoin que Williams, mais je suis incompétent en programmation. Mon besoin est plus simple. je suis artisan bijoutier, j'ai realisé un site e commerce , à laide du logiciel "shop to date". pour que mes clients (des magasins) puissent faire leur réassort. je souhaite limiter l'accès à mon site, pour que le public ne vois pas les prix. le logiciel ne permet pas de le faire mais dispose d'une "page" où l'on peut mettre du HTML. j'ai cherché sur des forums et tout est trop complexe car le mot de passe doit l'adresse de la page et ça ??????.
voici ce que j'ai trouvé :
<script language="JavaScript">
<!--
function checkPswd(ext) {
if ((document.pswdForm.pswd.value == null) || (document.pswdForm.pswd.value == ''))
alert('Mot de passe invalide.');
else this.location.href = document.pswdForm.pswd.value + ext;
}
// -->
</script>
<form name="pswdForm">
<p><input type="password" size="20" maxlength="20"
name="pswd"> <input type="button" value="On y va"
onclick="checkPswd('.htm')"> </p>
</form>
quelqu'un pourrais t il m'aider .
merci beaucoup
Arnaud
Marsh Posté le 03-02-2014 à 07:31:05
Je ne sais pas si ton PB est résolu mais voilà : http://www.youtube.com/watch?v=EIB3KEzyr9c
Il explique tout et comme c'est entièrement du PHP il ne se verra pas dans le code source.
Marsh Posté le 03-11-2013 à 22:01:07
Bonjour,
Je cherche une solution pour qu'on puisse accédé à une page par un mot de passe. J'ai regardé les solutions mais j'ai du mal comme je m'y connais qu'un peu.
Comment peut on mettre en place un mot de passe pour accéder à une page d'un site sans que tout ceci (mot de passe et lien vers la 2ème page) soit accessible en regardant le code de la page comme c'est le cas avec les javascripts comme le montre cet exemple http://www.supportduweb.com/script [...] sha-1.html ??
C'est à dire quand on est dans une page htm du site et qu'on clique sur lien cela ouvre une page php blanche qui avec je ne sais quoi cela ouvre une petite fenêtre où on doit entrer seulement un mot de passe (pas de pseudo) et si celui-ci est correcte alors cela va dans la page suivante en htm où l'accès serra protégé ainsi.
Merci
Williams
---------------
Mes site perso : sur le climatologie => http://la.climatologie.free.fr et le système-solaire => http://system.solaire.free.fr et mon blog de photos => http://www.flickr.com/photos/113385579@N08/