Identifiant d'identification unique du navigateur Web pour les connexions au panneau de configuration Web en Perl
Ne les navigateurs web ont un ID unique qui peut être transmise à des scripts Perl? (Comme une série unique - comme les produits que vous achetez dans le magasin par exemple)
Par exemple: Si j'installe un navigateur web, ce navigateur web fournir un identifiant unique ID de PHP ou Perl script?
La raison pour laquelle je suis à la recherche de quelque chose d'unique, c'est de faire ce qui suit:
- J'ai un utilisateur de base de données avec des noms d'utilisateur et mots de passe.
- Les noms d'utilisateur /mots de passe sont cryptés et les définir comme des cookies dans les navigateurs web des utilisateurs, de sorte que les utilisateurs peuvent se connecter et se déconnecter dans mon application web. (Chaque page web chargée lors de la connexion-regarde les cookies et les subventions d'accès si le cookie de l'utilisateur/de passe est correct)
- Si un pirate parvient à voler la chiffrés nom d'utilisateur et le mot de passe cookie à partir d'un utilisateur, il sera en mesure de se connecter avec ce vol de détails chiffrés.
Si les navigateurs des utilisateurs qui avaient tous des Identifiants uniques pour passer ensuite, j'ai pu enregistrer les Identifiants et les faire correspondre à chaque fois qu'un utilisateur utilise son utilisateur crypté/passage de témoin. De cette façon, si l'ID unique ne correspond pas (ce qui a été enregistré précédemment), alors l'utilisateur est déconnecté et a demandé connecter manuellement à nouveau.
Dans le cas où l'utilisateur crypté/passe est volé le hacker ne pas être en mesure d'obtenir avec elle, parce que l'unique navigateur ID ne correspond pas. Le user/pass cookie est chiffré, et le pirate ne peut pas voir le nom d'utilisateur ou mot de passe. Lorsque l'unique navigateur enregistrées ID ne correspond pas à l'application web va demander à l'utilisateur de se connecter manuellement et le hacker ne pas être en mesure de vous connecter manuellement, car le user/pass, il a volé est crypté.
À l'aide des adresses IP est une solution possible mais une mauvaise solution parce que beaucoup, sinon la plupart des ISP attribuer des adresses ip dynamiques pour les connexions internet de leurs clients.
Utilisation du temps est également pas une bonne solution parce que je voudrais les utilisateurs à rester connecté sur le même ordinateur pendant des semaines à la fois (si ils ont choisi) pour le rendre plus pratique.
Quelqu'un a des solutions pour le scénario ci-dessus?
J'ai été la recherche d'un moyen d'obtenir quelque chose d'unique à partir de navigateurs, mais cela ne semble pas possible. Est-il possible ou pas?
source d'informationauteur gpwr
Vous devez vous connecter pour publier un commentaire.
Les navigateurs n'ont pas d'ID unique, mais un bon niveau de les empreintes est possible. Le FEP a mesuré que, dans le meilleur des cas, l'information envoyée par les navigateurs (y compris la chaîne de l'agent utilisateur et d'autres en-têtes HTTP) représentent 18.1 bits d'entropie, ce qui signifie que si vous prenez deux navigateurs au hasard, vous avez 1 chance sur 2de 18,1 (≈280 000 habitants) qu'ils ont la même "empreintes digitales". Ils ont mis en place un site où vous pouvez estimer le degré d'entropie des informations envoyées par votre navigateur.
Certains sites utilisent cette. Ma banque, par exemple, stocke des informations sur les trois navigateurs que j'utilise le plus souvent pour se connecter à leur site web, et de me demander une vérification supplémentaire des questions chaque fois que je ne suis pas en utilisant l'un de ces.
D'autre part, toute cette information est entièrement spoofable: si quelqu'un est en mesure de réaliser un man-in-the-middle attack et de voler un cookie, ils sont capables de voler aussi tous les en-têtes envoyés par le navigateur, et peut les réutiliser pour s'authentifier sur votre site web. Il en serait de même si les navigateurs effectivement eu des Identifiants uniques.
Votre alternative, en plus d'utiliser une connexion cryptée par SSL (https), ce qui vous oblige à payer pour un certificat signé ou créer une auto-signé une qui affiche un avertissement de sécurité à vos visiteurs, est à adopter de meilleures pratiques contre session de détournements.
Pour une chose, il n'est pas standard de garder le nom d'utilisateur et mot de passe, même si elle est cryptée, dans le cookie. Ce que vous devez faire est de, une fois qu'un utilisateur a ouvert une session dans votre site web, de leur attribuer un aléatoire, à usage unique ID de session qui permet de stocker dans votre base de données avec un temps d'expiration (que vous pouvez étendre à chaque fois que l'utilisateur interagit avec votre site web), et ce dans un cookie.
Si vous voulez un même degré de protection plus élevé, une option est de changer l'ID de session chaque fois l'utilisateur envoie une requête HTTP. Vous pouvez également stocker une liste d'adresses IP de chaque utilisateur utilise pour se connecter à votre site web, votre adresse IP ou des masques (par exemple
X.Y.*.*
) si elle change trop souvent, et d'authentifier eux-mêmes s'ils se connectent à partir d'un lieu insolite. Si vous faites cela, il est une bonne pratique de leur demander "vous connecter à nouveau à partir de cet endroit?"Non, navigateurs ne disposez pas d'un ID unique. Il n'y a pas une telle chose. Si il y avait une telle chose, ce serait de publicité en ligne de la société de rêve!
Cela dit, si vous vous servez de votre site via le protocole HTTPS, vous pouvez donner à vos clients côté client X. 509 certificats. Celles-ci seraient signées numériquement par votre organisation, de sorte assez inoubliables. (Bien évidemment, si quelqu'un avait accès à l'ordinateur de votre client, ils pourraient faire une copie de lui - même serait vrai de n'importe quel navigateur numéro d'identification si!) Une fois le certificat installé, chaque fois que le navigateur fait une requête HTTPS à votre site web, votre site web peut demander à son certificat, et ceci peut être utilisé pour vérifier l'utilisateur de s'identifier.
Vous pouvez stocker des valeurs uniques (par exemple: id utilisateur) dans le navigateur de l'utilisateur à l'aide de "Html Local De Stockage" en permanence avec pas de date d'expiration, et de stocker les mêmes valeurs avec les informations sur l'agent de l'utilisateur dans la base de données.
Ensuite, vous passez à l'agent utilisateur des informations avec les données dans le stockage local et le faire correspondre avec ceux de la base de données...
Je ne suis pas sûr de savoir comment beaucoup de sécuriser cette approche pour identifier les utilisateurs, mais le code Html de Stockage Local censé être accessible que pour les pages d'une origine (dans le même domaine et protocole).
Il y a aussi "HTML Stockage de Session" pour stocker des données dans le navigateur d'utilisateurs pour une seule session.