2011-10-24 4 views
0

Je travaille sur une application de messagerie PHP/MySQL dans laquelle un utilisateur peut voir une conversation et y répondre. Sur la page d'affichage du message, j'ai un champ de réponse. Pour enregistrer la réponse, j'ai besoin de connaître l'identifiant du message auquel on répond. J'ai essayé de transmettre cette carte d'identité d'une manière à la fois sûre et fiable. Un champ caché simple avec un POST ne le fera pas, puisque l'utilisateur peut altérer les données et modifier le message auquel il répond. La création d'une variable de session avec l'ID du message sur la page de vue fournit la sécurité mais provoque un effet secondaire indésirable: si l'utilisateur affiche un autre message après avoir ouvert celui auquel il répond, la réponse sera envoyée à l'autre message .Quel est le moyen le plus sûr/le plus sûr de passer un identifiant d'une page à une autre?

Quelqu'un at-il des alternatives?

+0

Si vous ne disposez pas des autorisations côté serveur pour vérifier, comment vous déterminez exactement si l'utilisateur peut répondre? –

+0

Oui, mais rien n'empêche une personne d'aller à un message où elle peut répondre, envoyer une réponse et altérer l'identifiant du message auquel elle répond. –

+0

Les autorisations côté serveur l'empêcheraient ... –

Répondre

3

Vous pouvez crypter l'ID avec la bibliothèque mcrypt et transmettre le formulaire crypté dans l'URL. Si votre base d'utilisateurs a le QI collectif d'une courgette, vous pourriez probablement s'en tirer avec simple obscurcissement comme Hex ou base64. Mais sinon, mcrypt-> base64 sera plus que suffisant

+0

+1 4 courgettes ... –

+0

Merci, je pense que c'est exactement ce dont j'avais besoin. –

0

Utiliser 2 type d'identité, comme:? Id = 45sdf6g78g9s7987sd9f87 & id_hash = 65d4f98s7gsdg54g98dg

Questions connexes