8403 sujets

Développement web côté serveur, CMS

Bonjour à tous
Depuis une vingtaine d'années, je gère un site qui comporte une partie publique et une partie privée, réservée aux personnes inscrites comme "membres".
Le design que j'ai fait à l'époque consiste a avoir un répertoire "private" au dessous de la racine du site et de mettre dans ce répertoire l'arborescence des fichiers nécessitant un droit d'accès.
La protection est assurée par un fichier .htaccess qui contient une directive

AuthUserFile ....../.htpasswd

J'aimerais savoir si ce design est toujours d'actualité ou s'il existe d'autres façons de réaliser cette fonction
Merci pour vos conseils
Modifié par PapyJP (13 Sep 2021 - 12:06)
Bonsoir. Tu n'utilises pas une architecture MVC ou autres alternatives du même genre (MVP, etc.) ? Parce que, du coup, tu ne serais plus du tout dans cette approche. Tu aurais par exemple un contrôleur lié à l'url, les dossiers étants tous configurés pour être inaccessibles par défaut, sauf les dossiers publics (pour les scripts, les styles, les images et autres fonts).
Modifié par Olivier C (13 Sep 2021 - 09:34)
Merci pour ta réponse
Je n'ai aucune idée de ce que c'est qu'une architecture MVC ou MVP.

Je comprends à ce que tu dis qu'il s'agit de ne mettre en accès public que certaines choses et de gérer les accès aux autres fichiers par des programmes qui prennent en compte les informations courantes, notamment l'identifiant de l'utilisateur.

Cette approche serait très complexe pour le site en question, car il contient des fichiers dont il arrive couramment d'envoyer l'url par courriel. Certains de ces fichiers sont en accès public, d'autres sont en accès restreint aux utilisateurs enregistrés. C'est certainement faisable, mais ça reviendrait à refaire (en moins bien probablement) que que les serveurs Apache font très bien.
PapyJP a écrit :
C'est certainement faisable, mais ça reviendrait à refaire (en moins bien probablement) que que les serveurs Apache font très bien.

En moins bien je ne dirais pas ça, mais connaissant ton tempérament je m'attendais à une réponse telle que celle-ci Smiley cligne

Pour ce que je mentionne plus haut, on ne réfléchit plus par dossiers et fichiers, pour lesquels une page web est dédiée (comme pour un site statique, plus ou moins customisé avec quelques scripts côté back ou front), ici on réfléchit l'accès du site via les urls (pour le MVC tout au moins, le MVP je ne connais pas). Par exemple, pour le MVC (model/vue/controller) ce sont les contrôleurs et les routeurs qui mettent en lien la demande de l'utilisateur (via l'url tapée) et le contenu (via le modèle).

Bref, cette approche c'est tout un monde, celui du web depuis au moins 15 ans (il y en a d'autre bien sûr, comme par exemple avec des services externalisés pour l'authentification), mais si ton système fonctionne comme tel et que le site est lourd de contenu, une conversion aux nouveaux standards seraient un travail pharaonique pour un bénéfice pas forcément évident de ton point de vue. Je le comprends tout à fait.
Modifié par Olivier C (13 Sep 2021 - 17:04)
Merci de ta réponse
Le but de ma question était d'avoir une idée des nouveaux standards. Je me doutais bien que les choses étaient comme tu les décris.
Effectivement, c'est beaucoup de travail pour un maigre bénéfice, je vais donc en rester à mon ancienne architecture, qui date de la première version du site en 1999.