Accès au site Internet protégé par mot de passe

J'essaie de créer un site protégé par mot de passe. Ici, je veux faire si une première visite de l'utilisateur sur mon site Web doit ensuite insérer un mot de passe pour accéder à mon site. La première fois qu'ils ont entré le mot de passe, ils peuvent accéder gratuitement à mon site.

C'est ainsi que je le fais en utilisant javascript et php :

 <?php if($page == 'index'): ?> <script language="Javascript"> //prompt. var password; var correctPass = "123456"; password = prompt("Enter in the password:",""); if(password == correctPass) { alert('click OK to view this site'); } else { window.location = "http://google.com" } //-> </script> <?php endif; ?> 

Cela fonctionne, mais mon problème est que si les utilisateurs vont à la page d'index, ils doivent insérer le mot de passe.

Est-ce que quelqu'un peut me dire comment je régler ce problème? Je vous remercie.

Ne faites pas cela en JavaScript. N'importe qui peut regarder votre code source et voir le mot de passe. Effectuez la vérification du mot de passe en PHP à la place. Ensuite, utilisez $_SESSION variables $_SESSION pour enregistrer l'état pendant qu'ils se trouvent sur votre site. Vous voudrez peut-être utiliser des variables $_COOKIE pour un accès à long terme, mais seulement $_SESSION en soi est généralement préféré dans la plupart des cas pour l'accès par mot de passe.

Une autre façon de le faire est avec votre serveur Web. Par exemple, si vous utilisez Apache, vous pouvez créer un fichier .htaccess à la racine de votre site Web pour demander un nom et un mot de passe. De cette façon, vous n'avez même pas besoin de coder quoi que ce soit.

Pour effectuer la deuxième option, créez un fichier appelé .htaccess dans la racine de votre répertoire Web. Dans le fichier, mettez ceci dans:

 AuthType Basic AuthName "Password Protected Area" AuthUserFile /opt/passwords/.htpasswd Require valid-user 

(Où / opt / passwords est un emplacement de répertoire en dehors de votre répertoire web. Il peut être n'importe où, vous voulez simplement vous assurer qu'il ne se trouve pas dans votre répertoire web (sinon il sera disponible pour consultation publique)).

Dans ce répertoire, créez un fichier appelé .htpasswd. Ce fichier prend simplement un nom d'utilisateur et un mot de passe crypté. Cette page vous permettra de créer votre nom avec un cryptage de mot de passe: http://www.htaccesstools.com/htpasswd-generator/ . Collez-le dans votre fichier .htpasswd.

Cela dit, tout mot de passe que vous utilisez peut être intercepté si vous utilisez uniquement http et non https, mais la configuration de https est un peu difficile si vous ne l'avez pas déjà fait.

Ce n'est pas sûr. L'utilisateur peut avoir désactivé JS.

L'une des manières correctes est d'utiliser http auth .

Tout d'abord, vous mettez le mot de passe simple dans le script java lui-même ??? Ne le fais jamais et aussi

Si ($ page == 'index')

Toujours construit à vrai, donc la logique ne fonctionnera pas utiliser des cookies ou une session