Recent Topics

1 Sep 08, 2005 14:28    

Bonjour,

Actuellement, lorsque l'utilisateur télécharge un fichier lors de la création/l'édition d'un article, le fichier est accessible directement par le serveur web quelque soit la visibilité de l'article (public, protégé...).

J'aimerais faire en sorte que, au moins si l'article n'est pas public, le fichier ne soit pas directement accessible par le serveur web mais que l'on soit obligé de passer par un script PHP qui s'assurera par exemple que l'utilisateur est membre du blog avant de donner accès au fichier.

Est-ce possible avec la version stable voir avec la version de développement de b2evolution ? Je n'en ai pas l'impression mais je préfère poser la question.
Si non, est-ce qu'une telle possibilité est prévue à court terme ?

Merci.
Stéphane.

2 Sep 17, 2005 17:20

Actuellement, ce n'est pas supporté et cela ne semble pas non plus prévu, à en croire les liens suivants :

  • [url=http://b2evolution.net/news/2005/09/15/b2evolution_0_9_1_dawn_released]b2evolution 0.9.1 "Dawn" released[/url]

  • [url=http://b2evolution.net/news/2005/08/26/phoenix_alpha_features_preliminary_list]"Phoenix" ALPHA features (preliminary list)...[/url][/list:u]

  • Il faudrait en effet rendre le répertoire des fichiers invisible de l'extérieur et y accéder par un script qui teste le login de connexion pour voir si l'utilisateur a les droits d'accès au fichier. Cependant, un problème se pose : un fichier (image ou autre) peut être utilisé par plusieurs posts, voire plusieurs blogs. Aussi, il faudrait carrément intégrer un gestionnaire de droits sur les fichiers au même titre que celui des posts. Un problème évident se pose alors : si un fichier (image ou autre) est intégré par un post privé avec des droits de fichier privé, puis le même auteur publie un autre post, public, celui-ci, et qu'il intègre ce même fichier avec droits privés. Le problème est qu'il ne verra aucun problème se poser, étant lui-même logué, alors que les autres utilisateur ne pourront accéder (ou visualiser) ce même fichier (image ou autre). Je ne sais si je suis assez clair sur ce point... Le plus simple -- bien que très incomplet et peu sécurisant -- est de ne pas rendre publique le contenu du dossier des fichiers cachés en y ajoutant un fichier index.html (ou index.htm ou index.php) contenant le code (X)HTML suivant :
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>Redirection en cours...</title>
    <meta http-equiv="Refresh" content="0;url=http://www.adresse-du-blog.com">
    <META NAME="ROBOTS" CONTENT="NOINDEX">
    </head>
    <body>
    <p>Redirection en cours sur <a href="http://www.adresse-du-blog.com">Nom du blog</a>...</p>
    </body>
    </html>
    et d'enlever toutes les statistiques publiques de type logs d'accès [url=http://www.apache.org]Apache[/url], [url=http://awstats.sourceforge.net/]AwStats[/url] ou autres [url=http://www.mrunix.net/webalizer/]Webalizer[/url]. La "protection" consiste alors à empêcher les utilisateurs externes et les moteurs de recherche de connaître les noms des fichiers (images ou autres) utilisés dans les posts privés. Cependant, avec cette solution, il suffit qu'un utilisateur qui connait le chemin complet du fichier en publie le lien publiquement pour que ce système ne soit plus suffisant...


Form is loading...