Paris on Rails 2008

Ouverture de session

Commentaires récents

Syndication
Flux XML

ID affichés dans les URL

ID affichés dans les URL
Posté par kilo le Mardi, 17 Juin, 2008 - 11:24am. Développement

Bonjour,

Je souhaiterais passer à une exposition de ce type d'URL :
http://old.com/users/235/articles/2
vers celle-ci :
http://new.com/users/AE4389FB40B/articles/79ED1099B1A

Proposer des IDs uniques mais non incrémentaux permet en effet de cacher certaines infos (nombre de users) et de limiter l'exploration du contenu par changement des IDs. Je me demande donc si l'un(e) d'entre vous a mené un développement similaire à celui-ci.

Je me demande s'il est possible de spécifier un algo de génération d'IDs dans les migrations, et donc d'utiliser des ID de type string directement dans la base de données. Ou s'il est préférable de garder un ID entier qui s'auto incrémente et de spécifier les opérations de conversion à chaque création ou décodage d'une URL (donc dans routes.rb et peut-être dans un helper ?). Voyez-vous des désavantages à ces approches ?

Merci d'avance pour tout retour sur le sujet.



[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | sujet précédent | sujet suivant | envoyer par email ]

Options d'affichage des commentaires
Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder" pour activer vos changements.

Sujet: 
Bof
Auteur: 
gyver
Date: 
Mar, 17/06/2008 - 13:59

Un bête chiffrement avec une clef secrète des IDs utilisés par défaut devrait suffire pour masquer leurs valeurs, mais ça ne protège pas contre grand chose.

Si c'est pour faire du contrôle d'accès afin d'éviter qu'on puisse accéder à tout le site, ce n'est pas adapté : c'est mettre tous les oeufs dans le même panier (la clef secrète) au lieu d'avoir un contrôle en fonction de l'utilisateur logué (qui peut se faire voler son identifiant/mot de passe, mais ne donne accès qu'à ses propres données, pas tout le site).

Si c'est pour éviter un repompage intégral du site, ça me semble pas fiable : si tes utilisateurs peuvent accèder aux URLs, un robot de repompage de site le pourra aussi.

Reste masquer le nombre d'utilisateurs... Tu aurais plus vite fait de t'en créer des bidons avec un script. Mais bon : tôt ou tard la supercherie sera découverte : si il y a 10x moins d'utilisateurs qu'affichés, ça va se voir au quotidien...


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
postgres
Auteur: 
Fabien Jakimowicz
Date: 
Mar, 17/06/2008 - 12:08

Très rapidement, j'utiliserais la base de données pour s'occuper de cela : avec postgres, l'incrémentation des id sur une primary key se fait via une séquence que tu peux modifier.

Il ne reste plus qu'a passer les id en hexadecimal dans tes url et le tour est joué.

http://fabien.jakimowicz.com


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Nouveaux liens

Sondage
Lorsque je développe avec Ruby on Rails c'est principalement sous:
Linux
37%
Mac OS X
30%
Windows
32%
(Free|Open|Net) BSD
1%
Autre...
1%
Nombre de votes: 374

Qui est en ligne
Il y a actuellement 1 utilisateur et 60 invités en ligne.

railsfrance.org - communauté francophone des utilisateurs de Ruby on Rails
[ Hébergement et ressources techniques gracieusement fournis par la SSLL Nuxos Group ]