2010-07-16 12 views
0

Existe-t-il un moyen d'authentifier une page d'accueil en utilisant JavaScript? Je connais plusieurs façons, mais elles sont extrêmement faciles à "pirater" parce que le nom d'utilisateur et les mots de passe sont stockés dans le script lui-même - sous forme de tableaux. Connaissez-vous de bons moyens d'authentifier une seule sous-page ou deux?Existe-t-il un moyen raisonnablement sûr d'authentifier une page d'accueil en utilisant JavaScript?

+1

Que voulez-vous dire par «authentifier»? – PaulJWilliams

+2

Que signifie «authentifier une page d'accueil»? – bakkal

+0

blarh - juste diarreah qui sort de ma bouche .... Ce que je voulais dire était la sécurisation, je pensais juste authentifier et accidentellement écrit ... 2 places.? :) – Latze

Répondre

8

Non, il n'y a absolument aucun moyen d'authentifier un utilisateur en JavaScript pur.

JavaScript est exécuté côté client, et donc entièrement et facilement manipulable.

L'authentification doit toujours être effectuée côté serveur. JavaScript peut être utilisé pour envoyer les informations d'identification au serveur, mais jamais pour vérifier ces informations d'identification.

0

Tant que la décision finale sur le fait que l'utilisateur puisse voir ou non du contenu est effectuée sur le client, il sera assez facile à pirater. Le seul moyen qui pourrait éventuellement fonctionner serait si vous en quelque sorte encoder le contenu avec un mot de passe, de sorte que l'information désirée est simplement inaccessible tant que le mot de passe n'est pas connu. Mais même cela est probablement brutalement forcé et il serait assez compliqué à mettre en œuvre.

0

Ce n'est pas possible. Toute donnée envoyée au client dans une session non autorisée doit être considérée comme publique. Toute donnée sensible (par exemple: mot de passe) envoyée au client dans une session non autorisée doit être considérée comme compromise. Toute donnée reçue du client doit être considérée comme indigne de confiance.

Vous pouvez uniquement faire confiance au serveur.

Bien sûr, vous pouvez écrire votre code côté serveur en utilisant JavaScript NodeJS

0

Il est certainement possible: vous pouvez chiffrer la page Web et utiliser le javascript pour le déchiffrer. Cependant, il est rarement logique de le faire.

1

Ouais, il existe une solution sûre. C'est ce qu'on appelle "technique de défi/réponse". Il fonctionne comme ceci:

    envoyer serveur
  • au client un défi (une chaîne aléatoire)
  • client attacher à chalenge reçu un mot de passe (de l'entrée d'utilisateur) et faire de hachage de cette combinaison
  • serveur faire la même chose (défi + mot de passe DB) et de vérifier l'égalité
    • si tout est OK, serveur logins utilisateur sur le site

La sécurité est atteinte par ce moyen, ce serveur envoie tous les défis une seule fois! Si n'importe qui capture la réponse du client, il n'est pas adaptable, le serveur de cos n'a jamais envoyé ce défi encore.