Besoin de conseil sur l'orientation d'une administration
- Accueil
- Forum
- Programmation
- PHP
- Besoin de conseil sur l'orientation d'une administration
Nobodief Le 20 juin 2016 à 01:32 (Édité le 25 janvier 2019 à 17:51)
- 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.
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 Le 20 juin 2016 à 12:58 (Édité le 1 janvier 1970 à 01:00)
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 Le 20 juin 2016 à 13:04 (Édité le 20 juin 2016 à 13:04)
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 Le 20 juin 2016 à 13:06 (Édité le 1 janvier 1970 à 01:00)
Ranarxhag Le 20 juin 2016 à 16:16 (Édité le 1 janvier 1970 à 01:00)
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