Justflows 0.3.8: update nu als je site op Apache draait
DevTools openen op een Justflows-site achter Apache kon bezoekers een ban van Fail2Ban opleveren. 0.3.8 repareert de .htaccess-regel die daarachter zat. Wat er gebeurde, wie er last van heeft en hoe je updatet.

Justflows 0.3.8 is een kleine release met één fix, en je kunt hem het beste zo snel mogelijk installeren als je site op Apache draait. Op die sites kon een bezoeker die de ontwikkelaarstools van de browser opende, tien minuten door Fail2Ban buitengesloten worden. Dit bericht legt uit wat er gebeurde, wie er last van heeft en hoe je updatet. De release staat op GitHub.
Gevonden door een van jullie
Deze bug is gevonden door een gebruiker. Die zag dat bezoekers werden geblokkeerd direct nadat ze DevTools openden, herleidde het naar Fail2Ban en stuurde ons een melding met precies het filter dat afging. Daardoor was de oorzaak snel gevonden en de fix snel uitgebracht. Dank je wel. We waarderen dat soort betrokkenheid van de mensen die Justflows draaien enorm: een duidelijke melding als deze helpt elke site op het platform, niet alleen die van jou.
Wat er gebeurde
Elke Justflows-installatie schrijft een beveiligende
.htaccess in de hoofdmap. Op shared hosting serveert Apache de installatiemap vaak direct, dus dat bestand voorkomt dat het .env, het databasebestand of de broncode uitdeelt. Een van de regels weigerde een lijst met bestandsextensies, en daar stonden ook .map en .mjs in. Dat was een fout: Justflows serveert die allebei met opzet.- Onze openbare scripts worden geleverd met source maps, zodat een fout in de browser wijst naar leesbare code in plaats van geminificeerde code.
- Als je DevTools opent, vraagt Chrome die
.js.map-bestanden zelf op. - Apache weigerde elk verzoek met een 403 voordat het bij Justflows aankwam, en logde het als
client denied by server configuration. - Het standaardfilter
apache-authvan Fail2Ban leest die logregel als een mislukte inlogpoging. Na een handvol daarvan bande het het IP-adres van de bezoeker.
Niemand hoefde dus iets ongewoons te doen. Eén of twee keer DevTools openen op een pagina met meerdere scripts was genoeg.
Wie er last van heeft
- Wel getroffen: sites waar Apache de
.htaccessin de installatiemap van Justflows leest. Dat is gebruikelijk bij shared hosting, Plesk en cPanel (Passenger), en bij Apache voor Node. Voor de blokkade is de Fail2Ban-jailapache-authnodig, die veel hosts standaard aanzetten. - Ook getroffen, zonder Fail2Ban: op diezelfde Apache-sites werden source maps en pluginbestanden die eindigen op
.mjsgeweigerd. Fouten in DevTools wezen naar geminificeerde code, en een plugin met.mjs-bestanden kon die niet laden. - Niet getroffen: nginx, Caddy, of Docker zonder Apache. Die servers lezen de
.htaccessnooit.
Wat er is veranderd
0.3.8 haalt
.map en .mjs van de lijst met geweigerde extensies. Al het andere blijft precies zo geblokkeerd als voorheen: dotfiles zoals .env en .git, TypeScript-broncode, configuratiebestanden, lockbestanden, logs, databasebestanden en back-ups. Een nieuwe test controleert beide richtingen, zodat source maps niet ongemerkt weer op de lijst kunnen belanden.Je vraagt je misschien af of source maps wel openbaar moeten zijn. Voor Justflows laten ze niets nieuws zien: de code waar ze naar verwijzen is open source en staat al op GitHub.
Update nu
- Maak je gebruikelijke back-up.
- Open in de admin Updates, klik op Controleren op updates en update naar 0.3.8. Sinds 0.3.7 bouwt de updater in een stagingmap en draait hij terug als er iets misgaat. Je kunt ook de release-zip van GitHub downloaden en Justflows-update uploaden gebruiken op hetzelfde scherm.
- Justflows herstart vanzelf. Bij die start herschrijft het de
.htaccessin de hoofdmap met de gerepareerde regel. Je hoeft niets aan te passen.
Om te controleren of het gelukt is, vraag je een source map op van je eigen site. Het antwoord hoort
200 te zijn, niet 403:curl -sI https://your-site.example/js/site-chrome.js.map | head -n 1
Als je je .htaccess zelf hebt aangepast
Justflows herschrijft het bestand alleen zolang de eerste regel, de beheermarkering, ongewijzigd is. Heb je die regel aangepast om je eigen wijzigingen te bewaren, dan laat de update je bestand met rust en moet je het met de hand repareren. Zoek de regel die begint met
<FilesMatch "^\.| en haal daar map| en mjs| uit. Doe hetzelfde als je vandaag niet kunt updaten: het is een veilige fix op elke versie.Als bezoekers al zijn geband
Een ban van de standaardjail verloopt vanzelf na de bantijd, meestal tien minuten. Beheer je de server zelf, dan kun je een ban direct opheffen:
sudo fail2ban-client set apache-auth unbanip 203.0.113.7
Draait je host Fail2Ban voor je, vraag dan of ze de ban opheffen, of wacht gewoon tot hij verloopt.
Vragen
Ziet er na het updaten iets verkeerd uit, open dan een issue op GitHub of een ticket op support.justflows.com. En zie je iets vreemds op je eigen site, laat het ons dan weten. Deze release laat zien hoeveel een goede melding helpt.
Lees de release op GitHub✌️
Thanks for reading!
Find more posts on the blog or star Justflows on GitHub.