-
Discussion
-
Contexte : remarqué ceci après la mise à jour de BuddyBoss Platform à la version 1.7.4 sur le réseau Québec.tk.
Lorsque WordPress est hébergé sous CyberPanel/OpenLiteSpeed, la notice suivante apparaît dans l’admin réseau sous : BuddyBoss > Paramètres > Média.
À la section Media Security & Performance, vis-à-vis Direct Access, on peut lire :
Direct access to your media files and folders is not blocked
En suivant le lien sous la notice (Media Permissions tutorial), on apprend que BuddyBoss Platform tente de bloquer l’accès à ses répertoires de médias (
bb_documents
,bb_medias
etbb_videos
) en y ajoutant un fichier.htaccess
. Cela fonctionne sous Apache, mais pas avec Nginx, et apparemment pas non plus avec OpenLiteSpeed.On retrouve effectivement des fichiers
.htaccess
essentiellement identiques dans chacun de ces sous-répertoires de~/public_html/wp-content/uploads
.deny from all # BEGIN BuddyBoss code execution protection <IfModule mod_php5.c> php_flag engine 0 </IfModule> <IfModule mod_php7.c> php_flag engine 0 </IfModule> AddHandler cgi-script .php .phtml .php3 .pl .py .jsp .asp .htm .shtml .sh .cgi Options -ExecCGI # END BuddyBoss code execution protection
Apparemment, ça ne le fait pas pour OpenLiteSpeed — même après un redémarrage du serveur.
Alternatives pour CyberPanel
Dans les forums CyberPanel, on apprend quelques alternatives pour bloquer l’accès à certains fichiers dans OpenLiteSpeed : https://forums.cyberpanel.net/discussion/86/tutorial-how-to-deny-access-for-files-with-certain-extension-or-folder-in-openlitespeed-cyberpanel
1. deny files with certain ext.
by simply added this code into your .htaccess
RewriteRule ^.*\.(log|ini|txt)$ - [F,L,NC]
so any files with .log , .ini and .txt should be denied from access.
2. deny folder to be accessed.
add following code into the bottom of “vhost main configuration” area, like in screenshots
context /system { type NULL location /home/$VH_NAME/public_html/system allowBrowse 0 addDefaultCharset off }
explain: this context will NOT allow any access to http(s)://domain/system
On a donc deux options :
- Utiliser une règle
.htaccess
compatible avec OLS - Définir des contextes dans OLS
Règle
.htaccess
compatible avec OpenLiteSpeed[SOLUTION] Dans chaque répertoire respectif
L’ajout de la ligne suivante (sous
deny from all
) dans le fichier.htaccess
de chaque sous répertoire suffit pour bloquer l’accès à son contenu :RewriteRule ^.*$ - [F,L,NC]
Par exemple, l’accès direct à ces fichiers retourne maintenant une page d’erreur
403 Forbidden
:- http://québec.tk/wp-content/uploads/bb_documents/index.html
- http://québec.tk/wp-content/uploads/bb_documents/2021/05/Bigue-Nique-True-Humans-1.2.1-150bpm.mp3
Note : Il peut être nécessaire de redémarrer manuellement OpenLiteSpeed pour prendre en compte les nouvelles règles et réinitialiser le cache.
Une fois les 3 fichiers altérés, la notice de BuddyBoss Platform disparaît :
Dans le fichier
.htaccess
racine [NE FONCTIONNE PAS]On peut également créer une règle dans le fichier
.htaccess
à la racine du serveur qui bloquera simultanément les 3 répertoires à protéger :# BuddyBoss Media direct access protection [BN20210801] RewriteRule ^/?wp-content/uploads/bb_(documents|medias|videos)/.*$ - [F,L,NC]
Je ne comprends pas pourquoi cette règle reste sans effet… Quelqu’un a une idée ?
Contextes dans la configuration du vHost [NE FONCTIONNE PAS]
Il est également possible d’interdire l’accès à certains chemins via la définition de contextes dans la configuration de l’hôte virtuel (vHost) d’OpenLiteSpeed :
context /wp-content/uploads/bb_documents { type NULL location /home/$VH_NAME/public_html/wp-content/uploads/bb_documents allowBrowse 0 } context /wp-content/uploads/bb_medias { type NULL location /home/$VH_NAME/public_html/wp-content/uploads/bb_medias allowBrowse 0 } context /wp-content/uploads/bb_videos { type NULL location /home/$VH_NAME/public_html/wp-content/uploads/bb_videos allowBrowse 0 }
Là non plus, je ne pige pas ce qui ne fonctionne pas… De toute façon, cette méthode est plus ou moins viable, puisque le vHost de chaque domaine alias devrait être modifié pour fonctionner !
- Utiliser une règle
Connectez-vous pour répondre.