En vous promenant sur Beamreactor, nous stockons votre IP 48h pour des raisons de sécurité.

Lecteur Markdown

Knowledge Base › BEAMREACTOR_HTACCESSES

BEAMREACTOR_HTACCESSES

Politique `.htaccess` de BeamReactor #

Cette documentation décrit la politique globale `.htaccess` du moteur BeamReactor.

Elle ne concerne pas un plugin en particulier, mais définit le contrat de sécurité entre Apache et le moteur.

BeamReactor repose sur un principe simple :

> Apache ne doit jamais être un chemin d’exécution.

---

1. Principe fondamental #

  • Tout est interdit par défaut
  • Seuls les fichiers explicitement statiques sont exposés
  • Toute logique PHP est exécutée exclusivement via le point d’entrée du moteur
  • Le filesystem n’est jamais une API

Si un fichier devient accessible par erreur, le modèle de sécurité est déjà compromis.

---

2. Règles globales pour `plugins/` #

Les plugins peuvent contenir des ressources statiques (images, JS, CSS), mais aucune logique exécutable.

`.htaccess` dans `plugins/` #

# Deny access to all files by default
Order Deny,Allow
Deny from all

# Allow images
<FilesMatch "\.(jpg|jpeg|png|gif|webp|svg|ico)$">
	Allow from all
</FilesMatch>

# Allow JavaScript files
<FilesMatch "\.js$">
	Allow from all
</FilesMatch>

# Allow PHP-generated JavaScript
<FilesMatch "\.js.php$">
	Allow from all
</FilesMatch>

# Optional: Allow CSS if necessary
<FilesMatch "\.css$">
	Allow from all
</FilesMatch>

# Allow web fonts
<FilesMatch "\.(woff|woff2|ttf|eot)$">
	Allow from all
</FilesMatch>

Notes importantes :

  • Les fichiers `.php` ne sont jamais accessibles
  • Les plugins sont appelés uniquement via `index.php?obj=...`

---

3. Politique pour `user/` #

Le répertoire `user/` contient des données runtime, jamais des endpoints.

`user/` #

IndexIgnore *

---

`user/backups/` #

Deny from all

Téléchargement uniquement via le moteur (ex. BeamReactor).

---

`user/conf/` #

Deny from all

Configurations sensibles.

---

`user/content/` #

IndexIgnore *

Contenu interprété par le moteur, jamais servi brut.

---

`user/data/` #

Deny from all

Inclut :

  • pages 404
  • documents HTML générés
  • caches

Accès strictement interne.

---

`user/fonts/` #

IndexIgnore *

---

IndexIgnore *

Images uniquement, sans listing.

---

`user/skins/` #

IndexIgnore *

Assets de thèmes.

---

4. Répertoires cœur (interdiction totale) #

Ces répertoires ne doivent jamais être accessibles depuis le web :

Deny from all
  • `modules/`
  • `inc/`
  • `lib/`
  • `rss/`

Ils contiennent de la logique interne.

---

5. Racines statiques publiques #

Les fichiers sont accessibles, mais le listing est interdit :

IndexIgnore *
  • `ui/`
  • `javascript/`

---

6. Résumé du modèle de sécurité #

  • Apache = serveur de fichiers statiques, rien de plus
  • Un seul point d’entrée PHP
  • Aucun accès direct = aucune surface d’attaque
  • `.htaccess` est une ligne de défense critique

BeamReactor part du postulat suivant :

> Si Apache peut exécuter ou lire ce fichier, alors le moteur a déjà perdu.

de en fr