En vous promenant sur Beamreactor, nous stockons votre IP 48h pour des raisons de sécurité.
BeamReactor Workbench
BeamReactor
System:
BeamReactor 3.0
Workbench 2.1
Mem: 0.5 MB
Time: 13:21:52

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/ #

apache
# 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/ #

apache
IndexIgnore *

user/backups/ #

apache
Deny from all

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


user/conf/ #

apache
Deny from all

Configurations sensibles.


user/content/ #

apache
IndexIgnore *

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


user/data/ #

apache
Deny from all

Inclut :

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

Accès strictement interne.


user/fonts/ #

apache
IndexIgnore *

apache
IndexIgnore *

Images uniquement, sans listing.


user/skins/ #

apache
IndexIgnore *

Assets de thèmes.

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

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

apache
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 :

apache
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.

BeamReactor v3.0 • AmigaOS Workbench 2.1 Tribute • 2026