J'ai toujours voulu utiliser des chaînes générées aléatoirement pour les ID de mes ressources, donc je pouvais avoir des URL plus courtes comme ceci: / user / 4jz0k1
Mais je ne l'ai jamais fait, car j'étais préoccupé par la génération aléatoire de chaînes créant des mots réels, par exemple: / user / f * cker. Cela pose deux problèmes: cela peut être déroutant ou même offensant pour les utilisateurs, et cela peut aussi perturber le référencement.
Ensuite, j'ai pensé que tout ce que j'avais à faire était de mettre en place un modèle fixe comme l'ajout d'un nombre toutes les 2 lettres. J'étais très satisfait de ma méthode 'generate_safe_uuid', mais je me suis alors rendu compte qu'elle était seulement meilleure pour le référencement et pire pour les utilisateurs, car elle augmentait le rapport des mots réels générés, par exemple: / user / g4yd1ck5
Maintenant, je pense que je pourrais créer une méthode 'replace_numbers_with_letters', et vérifier qu'elle n'a pas formé de mots contre un dictionnaire ou quelque chose.
D'autres idées?
ps. En écrivant ceci, je me suis également rendu compte que la recherche de mots dans plus d'une langue (par exemple: anglais et français, espagnol, etc.) serait un gâchis, et je recommence à aimer les identifiants uniquement numériques.
MISE À JOUR
Quelques liens que tout le monde devrait lire:
http://thedailywtf.com/Articles/The-Automated-Curse-Generator.aspx
http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx