2009-10-29 5 views
0

Pour des raisons de sécurité, Je souhaite créer un jeton de sécurité pour chaque opération CRUD sur un site exécutant une pile LAMP. Le jeton de sécurité serait attaché à l'URL a href et serait vérifié après que l'utilisateur ait cliqué sur le lien avant d'afficher ou de faire quoi que ce soit. Tout d'abord, l'utilisation de jetons de sécurité constitue-t-elle une première étape dans la sécurisation de l'application ou existe-t-il de meilleures alternatives?Quelle est la meilleure façon de créer un jeton de sécurité à usage unique en PHP?

Deuxièmement, quelle est la meilleure façon de le faire avec PHP? Toutes les recommandations et surtout le code seraient utiles. Je suis nouveau à utiliser des jetons de sécurité, donc toutes les explications seraient bonnes.

(par meilleur, je veux dire le plus sûr et utilisable en même temps)

Répondre

2

Vous pouvez utiliser uniqid:

$token = md5(uniqid(mt_rand(), true)); 
+0

Comment vérifier ce jeton sur la page suivante? – chris

+1

@chris: Que voulez-vous dire par exaclty? Il y a beaucoup de façons de le faire, dépend des exigences. Vous pouvez le stocker dans le superglobal $ _SESSION ou dans votre base de données. – erenon

+1

Tout comme le premier commentaire sur les notes de la page de manuel uniqid: vous ne devriez pas "md5" un uniqid, il suffit de l'utiliser tel quel. – deceze

-1

Ne s'arrêtera pas une attaque XSS, car le pirate peut assimilez votre HTML et extraire les href avec des jetons de sécurité en eux.

+0

S'il s'agit d'un numéro de sécurité qui ne peut être utilisé qu'une seule fois, le pirate ne peut l'utiliser qu'une seule fois. J'ai entendu dire que wordpress utilise quelque chose comme ça. Savez-vous s'il y a un meilleur moyen? – chris

Questions connexes