2010-11-16 4 views
0

J'ai un identifiant sur ma page d'administration.ASP.Net: Comment se connecter correctement à login-trys?

Maintenant je veux me connecter à chaque tentative de connexion dans ma base de données. Normalement, j'ai une log-table avec le adminID dans une clé étrangère de la table adminuser-table.

Maintenant, bien sûr, quand quelqu'un essaie de se connecter avec un nom d'utilisateur qui n'existe pas, je n'ai pas d'ID et la clé-de-campagne utilise un crash dans l'écriture-attamp.

Maintenant, quelle est la bonne façon de se connecter un login-essayer lorsque le nom d'utilisateur n'est pas correct et que vous n'avez pas l'ID correct?

1) Ajouter un second journal table pour des choses ou 2) Retirez la clé foraign dans le premier journal table

+1

Vous réalisez que votre table est un vecteur pour une attaque DOS? Tout ce que j'ai à faire est d'installer un bot pour tenter de mauvaises connexions, va remplir le tableau, le disque, mettre le site en panne ... –

+0

Alors, quelle est la solution? Ne pas login-essayer le journal? – Kovu

+0

Limiter la taille de la table est une solution (supprimez les anciennes entrées lorsque vous en ajoutez de nouvelles) ou ne consignez pas les tentatives infructueuses. –

Répondre

1

Pourquoi ne pas simplement avoir le champ adminid comme un champ annulable? De cette façon, vous pouvez distinguer les tentatives de connexion réussies et infructueuses.

+0

Est-ce une idée, d'accord, mais la clé Foraign ne va-t-elle pas planter aussi? – Kovu

+0

Vous ne savez pas quelle base de données vous utilisez, mais dans MS SQL, si vous avez un champ FK, défini sur nullable, cela ne va pas causer de problèmes, si vous insérez une valeur nulle dans celui-ci. –

Questions connexes