Bonjour à tous,

Après avoir regardé la formation POO en PHP, dans la rubrique MVC, il y est très bien expliqué comment gérer un systeme de template Front/Back.

Mais du fait que l'Admin est appelé dans le dossier Public, je me demandais comment sécurisé les Assets JS (qui peuvent contenir un appel Ajax / Post des urls d'update BDD).

je pensais au token csrf, mais c'est ca me semble léger.

Vous en pensez quoi ?

Merci.

7 réponses


Salut,

Normalement, personne n'est censé avoir accès à tes dossiers JS, et puis au pire il suffit de conditionner le chargement des JS liés au back office. Sinon oui si vraiment tu es parano, tu peux passer par un token CSRF mais je ne vois pas trop où est le problème ?

CendFr
Auteur

Salut,
je suis bien d'accord qu'il faut être connécté au backOffice pour charger ces JS.
Mais un Bot pourrait très bien lister le contenu du dossier JS sans cnx au backOffice non ?

Mon PB est que, si le fichier Js de l'admin contient des appels de delete de comptes clients par exemple, c'est pas terrible...

Merci

Beh je pense qu'un CSRF déjà c'est pas mal, et puis normalement l'archi du site, notamment par le .htaccess, redirigera toute tentative de connexion au /public/assets/js vers index.php donc du coup ça limite vraiment les attaques.
Et puis si tu veux vraiment être protégé, je te conseille de backuper ta BDD au moins 1x par semaine sur un autre serveur ;)

CendFr
Auteur

Merci pour ton retour, c'est vraiment dans un souci d'archi optimum...
je pense que la soluce est de passer par un moteur de templating afin de stocker les assets dans App et non dans public

Euh.... what ? Quel rapport ? Le robot peut parcourir les fichiers sur le serveur jusqu'à trouver les assets donc c'est une fausse solution.

Tu peux déjà tester dans ton exécution si la requête est réalisée en Ajax (en plus du token) dans ton fichier de process :

if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
    // PROCESS
}
CendFr
Auteur

Intéressant, merci