Besoin de conseil sur l'orientation d'une administration

Ce topic a été résolu
Nobodief

Nobodief Le 20 juin 2016 à 01:32 (Édité le 25 janvier 2019 à 17:51)

Bonsoir, je travaille actuellement sur un projet et je réfléchis à la manière dont je pourrais orienter ma zone d'administration.

  • La première orientation est "classique", je une zone administrative dans un dossier à part et sécurisé avec des pages dédié uniquement à son utilité.
  • La seconde orientation est différente, j'implante directement les actions réalisables par les administrateurs sur les pages pouvant-être modifier par une administration.
J'ai un penchant sur la deuxième orientation, ce serais plus pratique d'interagir depuis la page en elle même, que depuis une interface séparée, niveau temps, cela évite de développer une interface administrative.

Par-contre j'ai quelque doute niveau sécurité, j'aimerais savoir à quel degrés sont les risques d'inclure du code destiné à l'administration dans une page accessible par tous les visiteurs, bien que le code est inclus (par la fonction include) et non directement écrite dans la page.

Voilà merci.
TheOldNoob

TheOldNoob Le 20 juin 2016 à 12:58

Salut,
La fonction include ne protege absolument aucun code. C'est juste pour y inclure une autre parti de code.

Si tu veux proteger tes pages administration, il faut créer des session start avec se genre de code pour définir qui a le droit ou non de voir la page :

<?php  session_start();
if (!empty($_SESSION) && isset($_SESSION['user']['role'])){

    if ($_SESSION['user']['role'] != 'admin') {
        header('Location: index.php');
    }
    
} else {
    header('Location: ../index.php');
}
Ici, une personne qui n'a pas le role admin et qui souhaite accéder a la page sera renvoyer vers la page index du site.
Nobodief

Nobodief Le 20 juin 2016 à 13:04 (Édité le 20 juin 2016 à 13:04)

Salut et merci,

Je sais que la fonction include ne protège pas, ma question était de savoir quel sont les risques d'inclure des fonctionnalités privée (administrative) dans une page qui possède des fonctionnalités pour les utilisateurs (une page publique en gros).

 
TheOldNoob

TheOldNoob Le 20 juin 2016 à 13:06

Le risque est le même que si ton code était dirrectement sur ta page public.
Ranarxhag

Ranarxhag Le 20 juin 2016 à 16:16

Hey santar !

Chacune des deux méthodes est bonne et sécurisée à partir du moment où elle est bien faite.

C'est juste une question de goût. Pour ma part, j'ai plutôt tendance à utiliser une interface d'administration. Ainsi, je ne mélange pas le front-end et le back-end mais il peut m'arriver également de mélanger les deux. C'est vraiment comme tu le souhaites ;)

Bien sur, quand tu crées une interface d'administration, c'est plus simple. Il suffit simplement de placer en haut de chaque page le code que t'as donné TheHoldNoob et le tour est joué, ta page est protégée alors que si tu mélanges le back-end et le front-end, tu devras faire ce genre de vérification pour chaque bouton ou lien accessible uniquement aux administrateurs du site (enfin.. je pense).

Ce n'est pas pour te décourager, au contraire mais simplement t'avertir que mélanger les deux demande plus de travail mais peut s'avérer plus efficace encore qu'une page d'administration si c'est bien fait. 😀

Ranarxhag
Nobodief

Nobodief Le 20 juin 2016 à 18:49

@Ranarxhag, @TheHoldNoob

Merci !
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte