Je crée un site Web de galerie. Les photos et les albums doivent être masqués par défaut, mais le propriétaire peut partager une URL publique s'il le souhaite. Je veux également utiliser des URL courtes pour cela. J'essaie de comprendre la meilleure façon de le faire. Au début, j'ai pensé que je pourrais avoir une table MySQL avec le code URL court (quelque chose comme Zneg8rjK
), et l'URL complète (/album/5/
). Lorsque l'utilisateur visite ce lien (mysite.com/Zneg8rjK
), il définit une variable de session qui est juste un hachage de /album/5
plus un sel, puis il les redirige vers l'URL complète. Ensuite, sur cette page, je peux simplement ressasser la page en cours et vérifier si c'est dans leur session ou pas. Pas de problème ... mais que se passe-t-il quand ils cliquent sur une photo de cet album? Ça tombe en panne. Donc, la solution suivante que je pensais était que je devrais stocker une clé secrète avec chaque album et chaque photo, puis avoir une adresse publique comme /album/5/secretkey
. L'URL courte pourrait juste pointer vers ceci à la place. Mais alors, comment puis-je autoriser l'utilisateur à voir toutes les photos de l'album? Devrais-je simplement relier chaque photo pour pointer vers la version secrète de l'URL de la photo, mais seulement si elles ont accédé à l'album via l'URL de l'album secret? Mon souci est que je veux garder les clés secrètes/URL hors de la barre d'adresse autant que possible afin que les utilisateurs ne le partagent pas accidentellement avec des gens qu'ils ne devraient pas ... mais ce n'est pas un gros problème s'il n'y a pas ' t de meilleures solutions.Permission temporaire de visionner des photos et des albums
Pensées?
Attendez une seconde, ai-je même besoin de hacher l'URL? Il n'y a aucun moyen pour les clients de modifier les variables de session est là?
Quelle est la structure de la galerie? C'est une question plutôt impossible à répondre sans savoir comment elle est configurée, et ce qui se passe quand l'utilisateur interagit avec des images, etc. –
Je ne suis pas sûr de ce que vous voulez dire? Les réponses ci-dessous sonnent bien pour moi. Chaque photo appartient à un album ... que demander de plus? Rien n'est encore gravé dans la pierre. Lorsque l'utilisateur essaie d'afficher une image, il vérifie s'il a la permission de la voir, puis lui montre l'image ou lui dit de s'enculer. – mpen