Comment puis-je mettre en œuvre en toute sécurité une fonctionnalité de connexion sans mot de passe?

10

Vient de publier un nouveau plugin: Plus de mots de passe

Je la marque actuellement comme bêta, car la connexion à une plate-forme est un problème sensible et je ne souhaite pas publier quelque chose qui pourrait comporter des failles de sécurité. Alors, voici ma requête:

Est-ce que c'est sécurisé?

J'ai pris les mesures suivantes pour assurer la sécurité:

  1. Le nom d'utilisateur / mot de passe ne sont jamais passés, seulement l'unique hash.
  2. Une fois utilisé, le hachage est supprimé de la base de données. na été utilisé que si la base de données est piratée, mais ensuite vous avez de plus gros problèmes.
  3. Toutes les requêtes de base de données du hachage ont été échappées pour empêcher XSS attaques.
  4. nonce ajouté à l'appel ajax.
  5. La nonce et la confirmation ont été ajoutées à l'extrémité mobile pour empêcher les attaques CSRF.

J'ai ici une description complète de comment ça marche .

J'espère pouvoir implémenter oauth via Twitter dans la version suivante, car iOS fonctionne maintenant dans ...

Merci de votre contribution à l'avance.

Éditer: J'ai décidé d'ajouter une vérification de sessionID pour ajouter une vérification de sessionID afin de m'assurer que le même navigateur se connecte que celui qui a initié la connexion au code QR.

    
posée jackreichert 29.01.2012 - 23:01

2 réponses

5

(Je suis un con pour les schémas de connexion alternatifs)

Quelques réflexions sur la fuite de DB:

  • Vous utilisez mysql_real_escape_string() directement. La méthode recommandée consiste à utiliser $wpdb->prepare() ou esc_sql() .

  • Les requêtes UPDATE sont mieux traitées par $wpdb->update()

réponse donnée scribu 29.01.2012 - 23:53
5

Je pense que c'est une bonne idée mais comme toujours la plus grande faiblesse est le facteur humain, dans ce cas ce serait le téléphone lui-même qui serait perdu, volé ou intercepté. Avez-vous pensé à ajouter une authentification à deux couches, comme un code de vérification SMS (comme gmail, etc.). Ou une alternative plus facile serait un cookie + un mot secret.

Pouvez-vous également indiquer quel algorithme génère le code QR dans votre page à propos?

    
réponse donnée Wyck 30.01.2012 - 00:04

Lire d'autres questions sur les étiquettes