Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1002 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  mot de passe pour accéder une page d'un site

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

mot de passe pour accéder une page d'un site

n°2209104
williamsss
Posté le 03-11-2013 à 22:01:07  profilanswer
 

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/
mood
Publicité
Posté le 03-11-2013 à 22:01:07  profilanswer
 

n°2209114
olivthill
Posté le 04-11-2013 à 01:00:24  profilanswer
 

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.

n°2209128
williamsss
Posté le 04-11-2013 à 10:11:03  profilanswer
 

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


---------------
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/
n°2209134
MaybeEijOr​Not
but someone at least
Posté le 04-11-2013 à 10:34:09  profilanswer
 

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.

n°2209169
williamsss
Posté le 04-11-2013 à 12:20:02  profilanswer
 

MaybeEijOrNot a écrit :

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.


 
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


---------------
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/
n°2209171
rufo
Pas me confondre avec Lycos!
Posté le 04-11-2013 à 13:09:48  profilanswer
 

Pour le php, t'as pleins de tutos -> Google
 
Autre solution : mettre le mot de passe dans un fichier .htaccess ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2209227
williamsss
Posté le 04-11-2013 à 16:44:34  profilanswer
 

rufo a écrit :

Pour le php, t'as pleins de tutos -> Google
 
Autre solution : mettre le mot de passe dans un fichier .htaccess ;)


 
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


Message édité par williamsss le 04-11-2013 à 16:56:19

---------------
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/
n°2209244
MaybeEijOr​Not
but someone at least
Posté le 04-11-2013 à 19:52:34  profilanswer
 

D'abord il faut interdire l'accès à ta page.html aux clients via un .htaccess :
 

Code :
  1. <Files page.html>
  2. AuthName NoAccess
  3. AuthType Basic
  4. order deny,allow
  5. deny from all
  6. allow from 127.0.0.1
  7. allow from ::1
  8. </Files>


 
Ensuite il suffit de l'inclure dans ton php si le mot de passe rentré est bon :
 

Code :
  1. <?php
  2. session_start();
  3. if (isset($_SESSION['connect']) && $_SESSION['connect'] == 1) {
  4.    include_once('page.html');
  5. } elseif ($_POST['pw'] == 'swordfish') {
  6.    $_SESSION['connect'] = 1;
  7.    include_once('page.html');
  8. } else {
  9.    $_SESSION['connect'] = 0;
  10.    unset($_SESSION['connect']);
  11.    header('Location: wrong.php');
  12. }
  13. ?>


Message édité par MaybeEijOrNot le 04-11-2013 à 21:11:33
n°2209246
williamsss
Posté le 04-11-2013 à 20:55:41  profilanswer
 

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


---------------
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/
n°2209249
MaybeEijOr​Not
but someone at least
Posté le 04-11-2013 à 21:15:25  profilanswer
 

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?

Message cité 1 fois
Message édité par MaybeEijOrNot le 04-11-2013 à 21:16:20
mood
Publicité
Posté le 04-11-2013 à 21:15:25  profilanswer
 

n°2209252
williamsss
Posté le 04-11-2013 à 22:06:54  profilanswer
 

MaybeEijOrNot a écrit :

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?


 
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
 
Warning: session_register() [function.session-register]: Cannot send session cookie - headers already sent by (output started at /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php:11) in /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php on line 11
 
Warning: session_register() [function.session-register]: Cannot send session cache limiter - headers already sent (output started at /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php:11) in /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php on line 11
 
Warning: Cannot modify header information - headers already sent by (output started at /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php:11) in /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php on line 12
 
Warning: Unknown(): open(/mnt/109/sda/0/b/la.climatologie/sessions/sess_d586ff30dfe87026eae60fb3d142f24c, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
 
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/109/sda/0/b/la.climatologie/sessions) in Unknown on line 0


 
Suivant le code ci-dessous que j'ai mis pour le fichier checkpw.php :
 

Citation :

<?php
// pw is the password sent from the form  
$pw=$_POST['pw'];
 
// the stripslashes is included in case you end up sending this to a database. It's to help prevent hackers compromising your system.
$pw = stripslashes($pw);
 
// you can make this much more robust by checking against a database in this file at this point
 
if($pw == 'swordfish'){
    session_register("pw" );  
    header("location:page.htm" );
} else {
    header("location:wrong.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


---------------
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/
n°2209255
MaybeEijOr​Not
but someone at least
Posté le 04-11-2013 à 22:31:29  profilanswer
 

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 :
  1. <?php
  2. phpinfo();
  3. ?>


 
 
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.

Message cité 1 fois
Message édité par MaybeEijOrNot le 04-11-2013 à 22:32:51
n°2209256
williamsss
Posté le 04-11-2013 à 23:08:35  profilanswer
 

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
 
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php:2) in /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php on line 2
 
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php:2) in /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php on line 2
 
Warning: main(page.html) [function.main]: failed to open stream: No such file or directory in /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php on line 7
 
Warning: main() [function.include]: Failed opening 'page.html' for inclusion (include_path='/mnt/109/sda/0/b/la.climatologie/include:.:/usr/php4/lib/php') in /mnt/109/sda/0/b/la.climatologie/motpasse/checkpw.php on line 7
 
Warning: Unknown(): open(/mnt/109/sda/0/b/la.climatologie/sessions/sess_dadf995b385bf3042705c73981c8788c, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
 
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/109/sda/0/b/la.climatologie/sessions) in Unknown on line 0


 
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


Message édité par williamsss le 04-11-2013 à 23:12:05

---------------
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/
n°2209257
MaybeEijOr​Not
but someone at least
Posté le 04-11-2013 à 23:17:16  profilanswer
 

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.

Message cité 1 fois
Message édité par MaybeEijOrNot le 04-11-2013 à 23:18:07
n°2209259
williamsss
Posté le 04-11-2013 à 23:29:54  profilanswer
 

MaybeEijOrNot a écrit :


 
 
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.


 
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  :hello:  
 
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/
n°2218299
arnaud5931​0
Posté le 01-02-2014 à 09:38:08  profilanswer
 

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

n°2218411
antholive1​000
Posté le 03-02-2014 à 07:31:05  profilanswer
 

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.


Message édité par antholive1000 le 03-02-2014 à 07:32:29

---------------
Geek passionné ~ Multi-Gamer ~ Dev Web ( Debutant )

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  mot de passe pour accéder une page d'un site

 

Sujets relatifs
[Java] Page HTML de mon programmeOutil calcul temps génération de la page serveur
afficher vraie url pour un mirroir de site stocké en local ?Création site de jeu ?!
[résolu] J'ai une magnifique page blanche !page.php custom dans wordpress
Conseils création site simple pour micro entreprise ?Transformer code html en site web
Lorsque j'ouvre mon site, certaines photos n'apparaissent pas ...Code source de la page, mais pas que cela.
Plus de sujets relatifs à : mot de passe pour accéder une page d'un site


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR