11326 sujets

JavaScript, DOM et API Web HTML5

Pages :
Modérateur
(reprise du message précédent)

js_html a écrit :

Comment on liste le dossier ? (pour que je teste).


Habituellement on se rend dans le dossier en question avec un navigateur Web, comme http://www.example.com/passwords/

js_html a écrit :

Vous voulez dire que je continue de mettre ces données dans des fichiers avec le mot de passe comme nom de fichier ? Vous ne disiez pas le contraire ?


Si j'étais toi j'oublierais l'idée de créer un fichier par mot de passe. Utilises une base de données SQL ou NoSQL, mais c'est mieux une base de données pour gérer ça.

js_html a écrit :

Effectivement, je suis d'accord avec vous... Sauf si vous utilisez les mots de passe stockés sur l'ordinateur (Firefox Lockwise...)...


Je ne stocke pas mes mots de passe dans mes logiciels, même pour les applications les plus inoffensives/inutiles.

js_html a écrit :

Et si je les hash en php comme noms de fichiers et les hash en JS (Peut-on le faire ?) pour retrouver le nom du fichier, est-ce bon ?


Ce serait déjà un compromis raisonnable, toujours selon la sensibilité du site Web que tu développes. Pour un truc pro, non, mais pour un site personnel à petite envergure, pourquoi pas. Même si le mot de passe ne sera pas salé et que la méthode de hashage sera connue étant donné que ce sera en Javascript, au moins, tu ne pourras pas connaître les mots de passe juste en regardant dans le dossier.

js_html a écrit :

<meta name="robots" content="noindex, nofollow">


Ça c'est pour fortement suggérer aux robots d'indexation comme Google Bot de ne pas indexer le contenu dans son moteur de recherche. Les robots dont je parle ne respectent pas ces instructions. Je parle des robots malveillants qui vont essayer au hasard d'appeler tes fichiers de mots de passe comme aaaaaa.js, aaaaab.js, aaaaac.js [...] jusqu'à zzzzzz.js. La liste n'est pas exhaustive. Le robot va essayer les combinaisons de majuscules/minuscules, les lettres et les chiffres, les mots de passe populaires, etc...

Dans l'ensemble, comme j'ai mentionné, ça t'apporterais beaucoup d'avantages d'apprendre un peu plus le PHP et les bases de données. Tu seras gagnant sur le moyen et long terme. Sinon tu vas te retrouver souvent à faire des bidouilles qui fonctionnent plus ou moins bien ou qui atteignent rapidement leur limite.
Modifié par Tony Monast (17 Dec 2020 - 20:51)
Salut, j'ai suivi un peu vos échanges sur ce que tu voudrais faire.
Clairement, tu ne peux pas stocker les données de tes utilisateurs dans des fichiers dont le nom est le mot de passe en clair, il faut trouver une autre solution.

Ma première question est la suivante : pourquoi ne veux-tu pas demander à l'utilisateur de saisir son email et son mot de passe pour se connecter ?
Si on se base uniquement sur le mot de passe il arrivera qu'il y ait une collision et ça c'est pas cool... Deux utilisateurs peuvent choisir le même mot de passe.

Sinon, si tu ne veux pas utiliser de base de données, tu peux tout à fait écrire des fichiers et là le format .json est le plus adéquate. C'est un format nativement lu par plein de langage et est léger.

L'idée est donc la suivante :
1 - L'utilisateur saisie ses données d'inscription
2 - Le formulaire est soumis en AJAX
3 - PHP vérifie que l'email n'existe pas déjà dans ton fichier data.json
4- Si c'est un nouvel utilisateur, PHP ajoute une entrée au tableau lu à partir de data.json et écrit ces données dans ce même fichier (on écrase les données). Mais très important le mot de passe est hashé, il n'est JAMAIS stocké en clair dans le fichier data.json, JAMAIS.
5 - PHP renvoie une réponse au client comme quoi l'utilisateur a été créé

Lors d'une connexion
1 - L'utilisateur saisie son email et son mot de passe et le formulaire est soumis en AJAX
2- PHP lit le contenu de data.json et cherche si l'email existe
3 - S'il existe, on vérifie le mot de passe avec son hash et si c'est bon on renvoie les données de l'utilisateur au client au format JSON
Et sinon, je me demandais aussi comment tu maintenais la connexion ?
Une fois que l'utilisateur est connecté, tu affiches une page spéciale sans doute, mais quand tu recharges la page, tu perd ta connexion, non ?
@Tony Monast
Ah, c'est ça lister le dossier !! Donc, non, ce n'est pas possible, j'ai mis une page index.

Tony Monast a écrit :
Dans l'ensemble, comme j'ai mentionné, ça t'apporterais beaucoup d'avantages d'apprendre un peu plus le PHP et les bases de données. Tu seras gagnant sur le moyen et long terme. Sinon tu vas te retrouver souvent à faire des bidouilles qui fonctionnent plus ou moins bien ou qui atteignent rapidement leur limite.

Parce que tu penses que c'est dans mes cordes !!! C'est bien trop compliqué... Smiley bawling


@MatthieuR
MatthieuR a écrit :
Pourquoi ne veux-tu pas demander à l'utilisateur de saisir son email et son mot de passe pour se connecter ?

C'est quelque peu long, surtout pour mon utilisation (lancer une liste de sites sélectionnés).

MatthieuR a écrit :
Sinon, si tu ne veux pas utiliser de base de données, tu peux tout à fait écrire des fichiers et là le format .json est le plus adéquate. C'est un format nativement lu par plein de langage et est léger.

Parce que tu penses que c'est dans mes cordes !!! C'est bien trop compliqué... Smiley bawling

MatthieuR a écrit :
Et sinon, je me demandais aussi comment tu maintenais la connexion ?

Eh bien, oui, je ne peux pas, mais, jusqu'à maintenant, je mettais le mdp en paramètre dans l'URL pour qu'il lance directement la liste de sites sélectionnés.

@everyone
Et sinon, je me demandais, serait-ce faisable d'attribuer un id à chaque utilisateur (dfgcvdD@sd457sc par exemple) au pif puis de mettre ça comme paramètre dans l'URL et de lui envoyer par mail (s'il préfère le rentrer dans le champ "connexion" à chaque fois) ? Comme ça, pas de problème de mdp stockés en clair... Smiley coucou Smiley vieux
Modifié par js_html (21 Dec 2020 - 11:25)
@Tony Monast
Ah, c'est ça lister le dossier !! Donc, non, ce n'est pas possible, j'ai mis une page index.

Tony Monast a écrit :
Dans l'ensemble, comme j'ai mentionné, ça t'apporterais beaucoup d'avantages d'apprendre un peu plus le PHP et les bases de données. Tu seras gagnant sur le moyen et long terme. Sinon tu vas te retrouver souvent à faire des bidouilles qui fonctionnent plus ou moins bien ou qui atteignent rapidement leur limite.

Parce que tu penses que c'est dans mes cordes !!! C'est bien trop compliqué... Smiley bawling


@MatthieuR
MatthieuR a écrit :
Pourquoi ne veux-tu pas demander à l'utilisateur de saisir son email et son mot de passe pour se connecter ?

C'est quelque peu long, surtout pour mon utilisation (lancer une liste de sites sélectionnés).

MatthieuR a écrit :
Sinon, si tu ne veux pas utiliser de base de données, tu peux tout à fait écrire des fichiers et là le format .json est le plus adéquate. C'est un format nativement lu par plein de langage et est léger.

Parce que tu penses que c'est dans mes cordes !!! C'est bien trop compliqué... Smiley bawling

MatthieuR a écrit :
Et sinon, je me demandais aussi comment tu maintenais la connexion ?

Eh bien, oui, je ne peux pas, mais, jusqu'à maintenant, je mettais le mdp en paramètre dans l'URL pour qu'il lance directement la liste de sites sélectionnés.

@everyone
Et sinon, je me demandais, serait-ce faisable d'attribuer un id à chaque utilisateur (dfgcvdD@sd457sc par exemple) au pif puis de mettre ça comme paramètre dans l'URL et de lui envoyer par mail (s'il préfère le rentrer dans le champ "connexion" à chaque fois) ? Comme ça, pas de problème de mdp stockés en clair... Smiley coucou Smiley vieux
@Tony Monast @MatthieuR @everyone
Et sinon, je me demandais, serait-ce faisable d'attribuer un id à chaque utilisateur (dfgcvdD@sd457sc par exemple) au pif puis de mettre ça comme paramètre dans l'URL et de lui envoyer par mail (s'il préfère le rentrer dans le champ "connexion" à chaque fois) ? Comme ça, pas de problème de mdp stockés en clair... Smiley coucou Smiley vieux
@Tony Monast @MatthieuR @everyone
Et sinon, je me demandais, serait-ce faisable d'attribuer un id à chaque utilisateur (dfgcvdD@sd457sc par exemple) au pif puis de mettre ça comme paramètre dans l'URL et de lui envoyer par mail (s'il préfère le rentrer dans le champ "connexion" à chaque fois) ? Comme ça, pas de problème de mdp stockés en clair... Smiley coucou Smiley vieux