- 1
[Opened] Sécurité
Posted by yamsuz on 02/13/2009 22:41
Bonjour à tous,
J'ai un petit soucis de sécurité, j'explique mon cas.
Mon site est une gestion commerciale, chaque utilisateur doit bien évidemment se loguer pour avoir accès aux informations. Sur la première page, il y a des graphiques qui s'affichent en fonction des droits des utilisateurs. Pour les graphiques j'utilise le framework Artichow. Pour l'instant voici ce que je fais. Mais si vous avez une meilleure solution (n'hésitez pas). J'appel le controleur qui appel la zone, qui appel le template. Le template appel une procédure Ajax pour afficher un tableau contenant des graphiques, le nombre d'image par ligne est configurable par utilisateur ainsi que chaque graphique (l'utilisateur a le droit ou pas de voir ce graphique). Pour l'instant Artichow crée un fichier dans un répertoire, ce qui me permet de mettre le chemin de l'image dans mon code AJAX, mais le soucis, c'est que tout le monde peut avoir accès au répertoire contenant toutes les images. Je ne sais pas comment faire pour résoudre cet énorme problème de sécurité.
Avez-vous une idée ?
Merci d'avance
[Opened] Re: Sécurité
Posted by Julien on 02/14/2009 14:32
Hello,
l'idée pourrait être que les images soient servies par une action jelix plutôt qu'un appel direct au fichier.
Bref, tu remplaces
<img src="graph1.png" alt="" />
par
<img src="{jurl 'module~getGraph', array('id'=>1)}" alt="" />
et l'action, en fonction des droits, sert le fichier image correspondant via une réponse binary, et si pas le droit, une erreur 403.
le dossier stockant les images doit alors être protégé par htaccess pour éviter l'accès direct via HTTP.
Julien
[Opened] Re: Sécurité
Posted by laurentj on 02/14/2009 23:20
Le dossier stockant les images peut aussi être en dehors du documentroot, ainsi pas besoin de htaccess
[Opened] Re: Sécurité
Posted by yamsuz on 02/15/2009 11:23
Merci à vous deux. J'ai opté pour la solution de julien car je ne sais pas encore ou je vais héberger la solution et donc je ne sais pas ce que j'aurai comme répertoire accessible par le net ou pas.
- 1