IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Url avec ADMIN ou USER pour quoi faire ?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    Points : 98
    Points
    98
    Par défaut Url avec ADMIN ou USER pour quoi faire ?
    Bonjour, dans la série j’apprends en me posant des questions.

    Comme je suis sur la partie Routeur -> Contrôleur -> Modèle -> Vue

    Je me demandais en réalité pourquoi on a toujours Admin ou User122332 dans l'URL. Sur le principe, actuellement j'ai si :

    ADMIN dans l'Url -> je lance le Admin_Controleur
    USER_122332 dans l'Url -> je lance le User_Controleur

    Sinon Je lance Public_Contoleur.

    Donc mon Url me donne une indication sur la controleur à charger. ADMIN et USER on une utilité dans l'Url.


    MAIS en RÉALITÉ, ils ne servent à rien, c'est juste pour la déco ????

    Car soit je suis connecté (identifié) -> et mon routeur lance Admin_Controleur ou User_Controleur en fonction de mes droits

    et si je en suis pas connecté je lance Public_Contoleur.

    Du coup ADMIN ou USER ne me servent à rien ???


    Voila comme je suis dans mes réflexions, je voulais avoir vos avis avertis qui ont plus de recul et d'expérience que moi.

    J'ai une vision un peu réduite (apprentissage) alors que vous avez surement une vision plus globale qui anticipe d'autres problématiques (conséquences, répercutions, intérêts, avantages).

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    si t'utilises un système de routage, que tu aies admin ou user dans l'url ne change normalement rien dans la mesure où c'est toi qui définit les droits d'accès pour chaque route.
    Et pour chaque route, tu dois avoir un contrôleur dédié.
    Tiens un peu de lecture

  3. #3
    Membre régulier
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    Points : 98
    Points
    98
    Par défaut
    Oui j'utilise index.php comme seul point d'entrée.

    La question est ?

    Si j'ai une page consultable : /mapageconsultable.

    Quel est l'avantage entre avoir :

    /admin/mapageconsultable_EDITION qui est accessible si je suis authentifié

    plutot que directement /mapageconsultable_EDITION (accessible si je suis authentifié $_SESSION['auth']).

    Dans les 2 cas /mapageconsultable_EDITION n'est accessible que si je suis authentifié.

    Quand on est dans le schéma admin/mapageconsultable on doit bien passer des paramètres (actions) _EDITION.
    C'est paramètres (actions) ne sont valides que si on est authentifié ben dans /mapageconsultable sans Admin c'est la même chose

    Quel est l'intérêt de mettre ADMIN dans l'URL, tous les CMS, les tutos ajoutent un Path Admin pour marquer que l'on est dans la partie admin (alors que en réalité cela me semble que symbolique que j'ai ADMIN ou pas dans l'URL ce qui compte c'est d'être authentifié...).

    De mettre ADMIN dans l'URL cela doit permettre un découpage, une souplesse de quelque chose qui m'échappe dont je ne comprend pas l’intérêt ??? le but, l'objectif...

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Ça a plusieurs utilités :

    - Souvent et par facilité, le système de routage te permet de définir globalement que toutes les routes démarrant par /admin nécessitent les droits admin dans l'application, comme ça plus aucun besoin d'y revenir pour toutes les routes en dessous.
    - Généralement il est demandé aux moteurs de recherche de ne pas indexer les zones d'administration, cette approche permet de le faire simplement
    - la lecture de l'url est beaucoup plus explicite

  5. #5
    Membre régulier
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    Points : 98
    Points
    98
    Par défaut
    - Facilité, le système de routage : Cas1 demande d'authentification si path Admin dans url / Cas2 demande d'authentification si path Action -> c'est pas le même path mais c'est la même chose.
    - Ne pas indexer les zones d'administration : Dans les 2 cas le moteur de recherche n'est pas authentifié donc ne peut pas indexer /mapage_action
    - la lecture de l'url est beaucoup plus explicite : Cas1 /mapage c'est de la lecture -> Cas2 /mapage_action c'est ma page sur qui je fais une action.

    En gros cela revient à juste déplacer le mot ADMIN dans l'url, car une Action Edition c'est un peu comme un alias de ADMIN

    Cas1 /admin/mapage
    Cas2 /mapage_admin

    Cas1 Si tu est admin tu peux faire des actions
    Cas2 Si tu fais une action c'est que tu dois être admin

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par scamphp Voir le message
    - Facilité, le système de routage : Cas1 demande d'authentification si path Admin dans url / Cas2 demande d'authentification si path Action -> c'est pas le même path mais c'est la même chose.
    Pour toi, c'est la même chose mais pas pour système qui gère plusieurs milliers de routes, c'est autrement plus véloce d'identifier les url directement avec admin qu'avec une liste d'actions possibles.
    Citation Envoyé par scamphp Voir le message
    - Ne pas indexer les zones d'administration : Dans les 2 cas le moteur de recherche n'est pas authentifié donc ne peut pas indexer /mapage_action
    c'est parce que tu ne sais pas comment fonctionne un moteur de recherche comme google...
    Si tu veux avoir une indexation qui tiens la route, tu dois leur fournir un sitemap hyper exhaustif avec les règles de suivi qui vont bien.
    Si tu te plantes, bam, score négatif et là bonjour les limbes... ça va très vite mais pour remonter tu galères, crois-moi.
    Si tu leurs fait perdre du temps en les laissant suivre des liens pour lesquels une authentification est obligatoire, ils vont tailler en pièces ton score.
    Citation Envoyé par scamphp Voir le message
    - la lecture de l'url est beaucoup plus explicite : Cas1 /mapage c'est de la lecture -> Cas2 /mapage_action c'est ma page sur qui je fais une action.
    tu peux aussi avoir /mapage/lecture.

    Citation Envoyé par scamphp Voir le message
    En gros cela revient à juste déplacer le mot ADMIN dans l'url, car une Action Edition c'est un peu comme un alias de ADMIN

    Cas1 /admin/mapage
    Cas2 /mapage_admin
    Le cas 1 est de loin préférable au 2
    Citation Envoyé par scamphp Voir le message
    Cas1 Si tu est admin tu peux faire des actions
    Cas2 Si tu fais une action c'est que tu dois être admin
    ce n'est que des suppositions. T'en sais rien, à chaque appel, revérification obligatoire

  7. #7
    Membre régulier
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    Points : 98
    Points
    98
    Par défaut
    Si le Routeur point d'entrée filtre /xxxx/.../xxxxx_action avec explose ('_') _ réservé pour les action -> si action existe = admin

    Cela revient a faire /admin/.../xxxxx avec explose ('/')

    Cas1 Si tu est admin tu peux faire des actions
    Cas2 Si tu fais une action c'est que tu dois être admin
    ce n'est que des suppositions. T'en sais rien, à chaque appel, revérification obligatoire
    Le routeur ferra dans les 2 cas une vérification Cas1 sur "Action" / Cas2 sur "Admin"

    - Ne pas indexer les zones d'administration : Dans les 2 cas le moteur de recherche n'est pas authentifié donc ne peut pas indexer /mapage_action
    c'est parce que tu ne sais pas comment fonctionne un moteur de recherche comme google...
    la page /mapage existe pour tout le monde en lecture (même pour les moteurs de recherche) alors que /mapage_action n'existe que pour l'administrateur

  8. #8
    Membre régulier
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    Points : 98
    Points
    98
    Par défaut
    Je reviens a la charge avec un autre argumentaire

    Si j'ai des utilisateurs... avec des droits différents

    Je ne vais pas faire :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /admin/mapage
    /utilisateur_niveau1/mapage
    /utilisateur_niveau2/mapage
    /utilisateur_niveau3/mapage

    Je vais bien gérer cela dans $SESSION['droit_niveau'] et pas dans l'URL

    Admin n'est qu'un utilisateur qui a plus de droit, on peut donc le gérer comme un utilisateur


  9. #9
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Evidemment que tu ne vas faire ainsi.
    Tu vas avoir 2 niveaux de profile : admin et user
    après le détail des pouvoir de chaque user est propre à ton application

    Généralement et mis à part des cas spécifiques :
    tout ce qui n'est pas admin est considéré comme user, donc tu créés une route /admin et rien de plus.
    Après pour ce qui est des cas spécifiques, j'ai déjà codé sur 3 profiles : admin, user, reader. Comme 90% des utilisateurs étaient profil reader, j'ai considéré que toutes les routes qui n'avaient pas /admin ou /user étaient implicitement des readers, ceal a évité de surcharger les urls

    Après, dans l'app il était possible d'affiner les pouvoirs des users en leur donnant la possibilité d'effectuer certaines actions admin mais c'était au compte goutte
    Le contrôle se faisait au niveau des ACL (Access Control List) du routeur, soit profile admin soit autorisation explicite.

Discussions similaires

  1. JavaFx pour quoi faire
    Par Alec6 dans le forum JavaFX
    Réponses: 10
    Dernier message: 09/01/2009, 14h14
  2. [XP]Assistant reseau pour quoi faire ?
    Par rtg57 dans le forum Administration
    Réponses: 2
    Dernier message: 15/06/2007, 09h38
  3. Réponses: 8
    Dernier message: 02/02/2007, 09h26
  4. Réponses: 7
    Dernier message: 15/11/2005, 21h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo