Bonsoir les gars, donc je voudrais savoir comment jsfiddle.net fait pour enregistrer le contenu de la page dans une URL unique? Par exemple: jsfiddle.net/u5jm5jq8. Je me demandais comment puis-je faire cela avec javascript. Parce que vous n'avez pas nécessairement besoin d'être connecté pour sauvegarder et générer l'URL unique.Comment puis-je définir une URL unique pour un utilisateur sans utiliser son identifiant?
Répondre
Ceci est connu comme hash ID, un identifiant unique généralement généré à partir d'un attribut unique comme la clé primaire d'une entité dans la base de données. Les IDs de hachage sont généralement plus courts que les hachages classiques créés par les algorithmes de hachage cryptographiques tels que MD5 ou SHA-256 et, contrairement à ces derniers, les ID de hachage sont réversibles, ce qui signifie que nous pouvons décoder la valeur d'origine. Ils réduisent l'exposition de la mise en œuvre interne de votre application, ce qui peut améliorer la sécurité.
Découvrez hashids.org. Ce site fournit des implémentations dans divers langages de programmation.
Sauf si vous avez une bonne raison de faire autrement, évitez de générer les ID de hachage dans le client. En créant les ID de hachage sur le serveur, vous pouvez garantir que les ID sont uniques et cohérents avec les identifiants utilisés par le mécanisme par lequel votre application stocke les données.
Modifier pour commenter - voici la procédure que vous pourriez suivre pour utiliser un ID de hachage dans une URL:
Supposons que nous utilisons ID de hachage pour créer des liens vers des profils d'utilisateurs. Lorsque nous générons une page qui contient un lien vers un profil, notre application:
- Convertir l'ID utilisateur (. Ex
5
) à un ID de hachage (ex3ac4jx60
.) - Afficher la page avec un lien comme
http://example.com/user/3ac4jx60
Si le visiteur du site clique sur ce lien, l'application reçoit la demande et:
- Decode l'ID de hachage dans l'URL pour obtenir l'ID utilisateur (
3ac4jx60
→5
) - Utilisez l'ID utilisateur pour récupérer l'enregistrement approprié et afficher le profil de l'utilisateur
Merci. Mais comment le contenu de la page a-t-il été enregistré dans l'url avec cet identifiant unique? Vous pourriez montrer la mise en œuvre de ceci avec un exemple. – Gabriel
Le contenu de la page n'est pas encodé dans l'URL, seule la valeur qui identifie les données à afficher sur la page. Par exemple, lors de l'enregistrement d'un JSFiddle, le site enregistre le code dans la base de données avec un ID, puis code cet ID dans un ID de hachage à usage public. Lorsque l'utilisateur visite l'URL de violon, le site décode l'ID de hachage à l'ID de base de données. J'ai mis à jour ma réponse pour illustrer ce processus. –