Comment faire de l'authentification de la connexion de la page en HTML ou en JAVASCRIPT
Je suis de l'électronique arrière-plan, afin de ne pas avoir de bonnes connaissances dans la conception de pages web. Je suis en train de faire un ethernet projet et pour cela j'ai besoin de faire une page web, mais avant que la page web j'ai aussi besoin de faire de l'authentification de la connexion de la page web. J'ai réussi à le faire à l'aide de HTML en JAVASCRIPT mais le problème est que n'importe qui peut voir le nom d'utilisateur mot de passe par l'affichage de la source de la page.
Je vais avoir du mal à faire de l'authentification. J'ai des connaissances de base de HTML et de JAVASCRIPT, mais prêt à apprendre. Tout ce que je peux trouver sur google est de connecter les modèles mais je ne sais même pas comment les utiliser.
Quelqu'un peut-il me donner un exemple ou m'indiquer quelques bons liens.
OriginalL'auteur user007 | 2016-01-30
Vous devez vous connecter pour publier un commentaire.
HTML et Javascript sont interprétées sur la côté client. Pour la connexion, c'est le côté serveur de code qui est couramment utilisé pour vérifier les informations d'identification, simplement parce que le fait que vous êtes déjà au courant de l' - avec un simple client du côté de la mise en œuvre, vous pouvez voir les informations d'identification dans le code source, côté serveur est également plus facile de travailler avec, une fois que vous comprenez cela, il est plus souple pour plus de développement, il est plus sûr, et il est vraiment utilisé partout pour cette tâche.
C'est une bonne idée d'utiliser le PHP, ASP, Ruby (ou tout autre côté serveur langue) pour cela. Si vous ne voulez pas, vous avez besoin pour rendre plus difficile pour l'utilisateur de lire les informations d'identification à partir du code source.
Pour ce faire, vous pouvez utiliser diverses méthodes comme la cryptographie ou la dissimulation de l'. La cryptographie est fortement recommandé plus abrutissant que c'prouvable ajoute plus de sécurité pour votre application. Abrutissant, fondamentalement signifie que vous modifiez le code source d'une manière qu'il est difficile à lire - vous ajouter des fonctions qui codent pour des chaînes de caractères, de sorte que votre "mot de passe" ne peut pas être repéré sur la première vue. Cependant, un obscurcissement peut toujours être contourné, et généralement assez facilement avec un bon outils de débogage.
Alors, allons-y avec de la cryptographie. Ce que vous cherchez ici est d'utiliser une façon de fonctions de hachage. Vous avez l'embarras du choix - MD5, SHA1, SHA256, ... chaque offre différents niveaux de sécurité. SHA256 implémentation en Javascript est un exemple que vous pouvez utiliser. Il existe de nombreuses autres bibliothèques et des exemples pour cela, alors il suffit d'utiliser Google et de trouver celui que vous aimez.
Maintenant, que faire avec elle? Disons que vous avez sha256() fonction qui accepte une chaîne de caractères et renvoie son hachage comme une chaîne de caractères. Pour chaque utilisateur et mot de passe que vous avez, vous décompte de hachage SHA256 de la chaîne "utilisateur + mot de passe".
Dire, vous voulez que votre nom d'utilisateur pour être "Pedro" et le mot de passe de ce compte est "Monmotdepasse".
Vous décompte de la valeur de hachage de "PedroMyPassword" - par exemple avec avec en ligne de hachage de l'outil. Vous pouvez consulter le hachage SHA256 est
Ce hash est ce que vous mettez dans votre code Javascript.
Lorsque l'utilisateur entre son utilisateur et mot de passe, vous appelez votre sha256 fonction sur "nom d'utilisateur + mot de passe" et vous comparer à vos precounted de hachage.
Notez que vous devez sélectionner vraiment de mot de passe fort, sinon certaines attaques (comme l'attaque par dictionnaire) serait facile à utiliser pour briser votre hash.
Le problème est maintenant, que vous n'avez pas spécifié, ce que vous voulez faire ensuite. Par exemple, vous souhaiterez peut-être rediriger les utilisateurs authentifiés à la page suivante, mais ici vous avez le même problème à nouveau - si vous avez une redirection en Javascript "secondpage.html" dans votre code, quelqu'un pourrait simplement ignorer l'authentification et accédez à la seconde page directement.
Ce que vous pouvez faire dans ce cas est que vous avez le nom de votre deuxième page,
c'est à dire le hash de votre utilisateur+pass chaîne. Dans cette variante, vous ne mettez pas la valeur de hachage dans le code. Le serveur web va juste retourner d'erreur 404 pour tous les utilisateurs qui ne parviennent pas à s'authentifier. Par exemple, si quelqu'un tente d'utiliser "Pedro" avec "123456" comme mot de passe, le SHA256 serait
3bac31720fdd4619ebe2e8865ccc0dc87eb744f3f05f08c628bb9217a77e4517
et si vous rediriger vers
3bac31720fdd4619ebe2e8865ccc0dc87eb744f3f05f08c628bb9217a77e4517.html
de ne pas exister, parce que votre deuxième page du fichier est appelé
Vous avez besoin pour créer ces pages pour chaque user/pass combinaison. Vous pouvez ensuite mettre une redirection simple code à la véritable deuxième page.
Mais assurez-vous d'utiliser le protocole HTTPS, sinon, la deuxième pages serait aller à travers le fil cryptée ...
Tout cela va fonctionner, mais encore, je vous suggère fortement de vous considérer le côté serveur.
Côté serveur, ce qui est utilisé partout. Une fois que vous comprenez cela, il est plus facile, plus sûr, beaucoup plus souple pour le développement futur et est juste la chose à utiliser. Pour le côté serveur, cela dépend de ce que la technologie peut vous utilisez sur votre serveur. Si vous hébergez vous-même, vous pouvez choisir parmi toutes les différentes technologies (ASP, PHP, Ruby, NodeJs, ...). Mais si vous êtes sur un hébergement tiers, vous êtes généralement limitée. Le coût le plus bas hébergements généralement exécuté sur le système d'exploitation Linux et offre PHP. Il y a beaucoup de ressources sur Internet - par exemple, phpeasystep.com/phptu/6.html c'est un simple PHP+MySQL échantillon.
Si vous ne voulez pas utiliser de base de données, il est OK, vous pouvez simplement modifier cette échantillon couper DB code. Il y a également beaucoup de questions sur ce sujet, afin de rendre votre recherche pour "PHP simple formulaire de connexion". Ou vous pouvez essayer celui-ci tutorialspoint.com/php/php_login_example.htm , vraiment beaucoup beaucoup d'options ici. Il vous suffit d'identifier le côté serveur de la technologie, vous pouvez et que vous voulez utiliser, puis d'en apprendre les bases.
Merci encore. En fait, je suis en utilisant un Microcontrôleur qui sera l'hôte de toutes les pages web. Donc je ne sais pas quelle technologie utiliser ici. Mais je vais essayer de faire de cette façon.
Je ne suis pas familier avec les microcontrôleurs, mais si vous exécutez n'importe quel unix/linux, vous pourriez être en mesure d'exécuter n'importe quoi et on est juste limité par HW ressources (par exemple, la mémoire disponible). Cela dit, des choses comme PHP ont beaucoup de paramètres que vous pouvez modifier, les limites de la mémoire inclus.
OriginalL'auteur Wapac
Vous ne pouvez pas vraiment avoir un système d'authentification à l'aide de JavaScript et HTML seul.
Je dirais Authentification HTTP de base sur votre serveur au lieu, comme il est beaucoup plus sûr (pas parfaits, mais au moins emploie un serveur standard-côté de la méthode de contrôle d'accès).
Si vous devez mettre en place quelque chose en JavaScript, vous pourriez faire un mot de passe seul schéma basé sur le nom d'un répertoire caché. Quelque chose comme ce qui suit (notez que ce n'est pas testée donc aura besoin de quelques réglages):
(Code emprunté et adapté de cette question)
Le code devrait être terminé afin que la fonction est appelée lorsque le bouton est cliqué. Donc, si le mot de passe est toto, vous avez défini un répertoire sur votre site web appelé
foo
, et si le JQuery, JavaScript détecte que le mot de passe entré correspond à un nom de répertoire (par exemple/foo/
), l'utilisateur est redirigé. Par conséquent, vous devez créer un/foo/index.html
afin de prendre soin de l'utilisateur est enregistré dans la session.Noter que c'est la plus sûre que vous pouvez faire avec le JavaScript et le HTML seul et il souffre de ces vulnérabilités.
En tout cas, toujours protéger votre serveur avec le protocole TLS/SSL. Ma recommandation est de créer correctement un utilisateur de système d'authentification en utilisant les conseils de OWASP. Le ci-dessus ne montre que ce qui est réalisable en HTML de base (pas beaucoup). Toutefois, c'est mieux que d'exposer le mot de passe dans côté client fichiers.
OriginalL'auteur SilverlightFox