2008-12-21 4 views
0

Je suis en train de configurer un site où les utilisateurs ont leur propre "profil". J'utilise des itinéraires pour les URL soignées et je me demandais quels sont les avantages/inconvénients à ce qui suit:Opinion sur example.com/nom_utilisateur avec Routes

example.com/:username 

Ou devrais-je inclure une route statique pour filtrer que c'est une demande de page de profil?

example.com/u/:username 
example.com/something-static/:username 

Lequel est le meilleur?

Répondre

2

Je ne pense pas que vous voulez

example.com/:username 

comme cela imposer des restrictions sur les noms d'utilisateur disponibles afin de ne pas entrer en conflit avec d'autres chemins sous l'URL.

Je propose

profiles.example.com/:username 
+0

J'ai toutes les routes statiques dont j'ai besoin. Je m'en réserve aussi et je peux toujours faire example.com/something-static/my-new-page si je suis vraiment coincé dans le futur? (où quelque chose de statique est déjà réservé) – ed209

3

S'il est possible pour l'utilisateur de spécifier leur nom d'utilisateur et de personnaliser leur page de profil de manière significative, alors vous courez le risque de permettre la fraude/attaques de phishing. Par exemple, je pourrais m'inscrire avec un nom d'utilisateur de "passwordreset", puis mettre un formulaire (ou un lien vers un formulaire) sur ma page de profil, puis essayer de persuader les gens qu'ils doivent réinitialiser leurs mots de passe en visitez example.com/passwordreset.

Ensuite, je pourrais récolter les mots de passe. Si l'URL était example.com/users/passwordreset, il y a plus de chances qu'un utilisateur d'alerte devienne suspect.

+0

ne puis-je pas empêcher quelqu'un d'enregistrer un nom d'utilisateur avec "mot de passe" dedans? (et d'autres chaînes comme oublié, nom d'utilisateur, rappel etc ...) – ed209

+0

Bonne chance à venir avec une liste complète. N'oubliez pas "FAQ" et "Aide" ... "Passw0rd" et Unicode-camouflage ... "Contraseña" et d'autres langues ... Des fautes de frappe courantes dans vos mots réservés ... – Oddthinking

+0

@ ed209 - Si vous Vraiment vouloir le faire la première façon dont vous mentionnez alors vous pouvez vraiment - mais vous avez 2 réponses ici qui suggèrent pourquoi peut-être vous ne devriez pas. @Oddthinging - accepté; Je n'ai jamais connu un système où de telles décisions de conception ont été faites à l'avance et ont été considérées comme correctes avec le recul. – DanSingerman