Formulaire HTML Mot de passe

Fermé
poule33 - Modifié le 31 mars 2022 à 17:26
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 - 1 avril 2022 à 00:29
Bonjour,

J'aimerais faire un site web perso et mettre un mot de passe (en valeur fixe ex:
123@
).
J'ai vu que l'on pouvais le faire avec du PHP, du Python, etc...
Mais les gens qui montre comment faire ne mettent pas de valeurs fixes.

Si quelqu'un peut m'aider (peu importe le langage de programmation, mais de préférence python).

Merci
A voir également:

3 réponses

mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 7 806
Modifié le 31 mars 2022 à 17:40
Bonjour,

Pré-requis

Avant tout il est important de comprendre qu'un navigateur ne comprends que trois langages : CSS, HTML, javascript. Cela signifie que bout de code écrit dans un autre langage (PHP, python ou autre) doit être interprété de sorte à ne retourner à terme que du CSS, HTML, javascript.

Ensuite il faut distinguer le rôle des différents langages :
  • le HTML définit les objets à afficher par le navigateur
  • le CSS est un moyen de mettre en forme une page HTML (plus élégant qu'en HTML pur)
  • le javascript permet de lancer du code sur le navigateur, sans interagir avec le serveur. C'est donc nécessairement du code "en clair" et donc un mauvais moyen de faire une authentification, car les logins/mots de passes sont des informations que l'on ne veut pas diffuser en clair.
  • le langage utilisé côté serveur (typiquement PHP, python, ...). C'est un bon endroit pour faire une authentification. Les logins/mots de passes peuvent être écrits en dur dans le code (qui reste côté serveur) mais c'est une mauvaise pratique car cela fait qu'ils sont en clair pour les développeurs du site, et l'implémentation du site n'est pas sensé dépendre de ses utilisateurs. Normalement, on les stocke donc dans une base de données dédiée et dans laquelle les mots de passe seront chiffrés.


Si le serveur web est un serveur
apache2
, une autre manière de faire consiste à définir un fichier
.htaccess
- solution d'ailleurs évoquée par Dal.

Retour à ton problème

Il faut commencer par définir le serveur web que tu veux utiliser :
  • soit tu prends un serveur existant genre
    apache2
    ou
    nginx
    ,
  • soit tu codes un serveur web en python, par exemple avec le très bon
    cherrypy
    .


Puisque tu sembles aimer python,
cherrypy
te permettrait de coder l'authentification à ton idée (éventuellement avec un mot de passe codé en dur dans un premier temps). Tu peux par exemple t'inspirer de ce tutoriel.

Bonne chance
1
Merci pour ce message,
Je souhaiterais revenir sur le codage côté serveur : je serai tout seul pour faire ce site ;D
Je veut faire un formulaire de connexion seulement pour moi.
Serait t-il possible de détailler le language côté serveur (donc python) pour une authentification ?
Merci, vous m'aidez dans mes recherches !
0
Un exemple visuel très simple :
https://www.figma.com/file/8B2rjVWho6R17a2FYKiko8/Untitled?node-id=0%3A1
0
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 7 806 > poule33
1 avril 2022 à 00:29
As-tu essayé le tutoriel que je t'ai donné ? Ce serait ton code de départ dans lequel tu feras progressivement ton site.
0
jordane45 Messages postés 38316 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 novembre 2024 4 705
31 mars 2022 à 16:35
Bonjour

Il te suffit d'utiliser un IF/ELSE (peut importe le langage) pour tester si le mot de passe saisit correspond à celui que tu veux.


0
oui merci,,
mais tout ca en python avec un interface html/css
et je n'arrive pas a trouver la balise de mon script html dans
mon fichier python.
Merci.
0
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié le 31 mars 2022 à 17:17
Salut poule33,

C'est un peu bizarre ce que tu veux faire, mais c'est peut-être être parce que tu n'expliques pas pourquoi tu veux le faire. En tout état de cause, stocker un mot de passe en clair dans un code source (ou ailleurs sur le serveur) n'est pas une bonne idée. Les mots de passe sont normalement stockés hachés (et si possible salés).

Vois : https://auth0.com/blog/adding-salt-to-hashing-a-better-way-to-store-passwords/ (avec du code Python d'illustration pour le hachage et salage).

Plus simplement, si ton serveur est un serveur Apache, tu peux protéger l'accès à un site ou à une partie de l'arborescence d'un site avec un fichier .htaccess, le mot de passe étant stocké sous forme hachée dans un fichier .htpasswd.

Ce post sur SO explique comment faire : https://stackoverflow.com/questions/5229656/password-protecting-a-directory-and-all-of-its-subfolders-using-htaccess/5229803#5229803

C'est alors le serveur Web qui s'occupe de bloquer l'accès, sans que tu aies à programmer quoi que ce soit, la boite de dialogue d'authentification étant affichée par le navigateur et non pas par un formulaire du site. La seule présence du fichier .htaccess (incluant les paramètres nécessaires à la gestion de AuthType Basic) dans un répertoire du site suffit sur les serveur Apache qui sont paramétrés pour les gérer.


Dal
0