PrestaShop AVG & juridisch

Leeftijdscontrole PrestaShop: Blokkerend Venster voor CBD, Alcohol, Vape & Zorgverleners

Het blokkerende leeftijdsvenster: net, conform en werkt overal.

Verkoopt u CBD, alcohol, e-liquids of wapens online zonder de toegang voor minderjarigen te blokkeren, dan loopt u het risico op maatregelen van de toezichthouder, in Nederland de NVWA. Verkoopt u medische apparatuur die aan zorgprofessionals is voorbehouden zonder de verklaring vast te leggen, dan speelt in Frankrijk artikel L5122-9 van de Code de la santé publique. dfagegate zet vanaf het eerste bezoek een blokkerend venster neer, plaatst een cookie met SameSite=Lax (en Secure bij HTTPS), en legt de beslissing van de bezoeker vast: een ja/nee-keuze, een geboortedatum met leeftijdsberekening aan serverzijde, of een verklaring van beroep met een RPPS- of ADELI-nummer in de medische modus. Gebouwd voor PrestaShop 8 en 9, geschikt voor multishop en meertalig (standaard FR/EN/ES/DE), met AVG-vriendelijke logboeken (IP-adres gehasht met SHA-256).

PrestaShop 8 + 9 Multishop FR/EN/ES/DE Cookie SameSite RPPS/ADELI AVG-vriendelijk
  • 30 dagen geld terug
  • 12 maanden updates
  • Support binnen 24 uur
www.datafirefly.com/nl/
Contrôle d'âge à l'entrée d'une boutique PrestaShop
v1.0.3 · bijgewerkt 2026-05-10
Wat het doet

De korte versie.

01

Blokkerend venster, aan serverzijde en in JavaScript

Opgebouwd door PrestaShop via de hook displayBeforeBodyClosingTag, met een terugval in JavaScript die het venster zelf in de body invoegt als uw eigen thema die hook niet aanroept. Werkt op Classic en op vrijwel elk eigen thema, zonder de layout aan te raken.

02

3 soorten controle naar keuze

Knoppen ja en nee (CBD, alcohol, vape, aanstekers), een volledige geboortedatum met leeftijdsberekening aan serverzijde (wapenhandel, strenge markten met een grens van 21 jaar), of een verklaring van medisch beroep met een RPPS- of ADELI-nummer (medische apparatuur die aan professionals is voorbehouden).

03

Medische modus volgens het Franse kader L5122-9

Voor wederverkopers van medische hulpmiddelen waarvan de reclame in Frankrijk aan zorgprofessionals is voorbehouden. Aanpasbare beroepenlijst en controle van het RPPS- of ADELI-nummer via een reguliere expressie (9 tot 11 cijfers), waarbij het nummer nooit wordt bewaard maar alleen gecontroleerd.

04

AVG-vriendelijke logboeken (IP gehasht met SHA-256)

Optioneel: weigeringen worden in een eigen tabel vastgelegd met een gehasht IP-adres (niet leesbaar), de datum en de reden. De bewaartermijn is instelbaar. Het cookie is strikt noodzakelijk in de zin van de ePrivacy-richtlijn en daarmee vrijgesteld van voorafgaande toestemming.

De lange versie

Alles wat u wilt weten voordat u installeert.

Een gedetailleerde blik op hoe Leeftijdscontrole PrestaShop: Blokkerend Venster voor CBD, Alcohol, Vape & Zorgverleners werkt, waarom we het zo gebouwd hebben en de gedachte achter de bovenstaande functies.

§ 01

Waarom een aparte module in plaats van een gewone pop-up

Gewone marketingpop-ups sluiten met één klik, controleren niets, plaatsen geen nalevingscookie en laten geen spoor in de database achter. Voor een CBD- of alcoholwinkel die door de toezichthouder wordt gecontroleerd, in Nederland de NVWA, is dat rechtstreeks een tekortkoming. Voor een wederverkoper van medische apparatuur die in Frankrijk op artikel L5122-9 wordt getoetst, raakt het aan de vergunning om producten op de markt te brengen. dfagegate doet het omgekeerde: een werkelijk blokkerend venster (vergrendeld scrollen, focus binnen het venster), controle aan serverzijde, een cookie met SameSite en Secure, en logboeken met een gehasht IP-adres. Het is een nalevingsinstrument en geen marketingwidget.

§ 02

De standaardmodus: CBD, alcohol, vape, wapenhandel

Voor het merendeel van de markten met een leeftijdsgrens van 18 jaar (of 21 in sommige landen). Er zijn drie soorten controle, te kiezen naar uw risicoprofiel: knoppen ja en nee (snel, weinig wrijving, voldoende voor CBD of alcohol voor het brede publiek), een volledige geboortedatum met leeftijdsberekening aan serverzijde via DateTimeImmutable (niet te omzeilen via de ontwikkelaarsconsole, aanbevolen voor wapenhandel of nicotinehoudende vloeistoffen), en een instelbare doorverwijzing naar een externe pagina bij weigering.

§ 03

De medische modus: het Franse kader L5122-9

Artikel L5122-9 van de Franse Code de la santé publique verbiedt reclame voor bepaalde medische hulpmiddelen richting het brede publiek en behoudt die voor aan bevoegde zorgprofessionals. dfagegate legt die verklaring vast: een aanpasbare beroepenlijst (arts, apotheker, fysiotherapeut, tandarts, dierenarts en meer), een aanvinkvakje met een verklaring op erewoord, en een optionele controle van het RPPS- of ADELI-nummer via een reguliere expressie (9 tot 11 cijfers). Het nummer komt nooit in de database terecht; het dient alleen voor de controle. Dat is naleving met het minimum aan gegevens: een spoor van de verklaring, zonder overmatige verzameling. Voor een Nederlandse winkel blijven de verklaring en de beroepenlijst bruikbaar, maar de nummercontrole is op het Franse formaat afgestemd en niet op het BIG-register.

§ 04

Multishop en meertalig vanaf de installatie

Alle instellingen (modus, soort controle, teksten, kleuren, uitzonderingen) worden per winkelcontext bewaard via id_shop_group en id_shop. U kunt binnen dezelfde PrestaShop dus een Nederlandse CBD-winkel met een grens van 18 jaar draaien naast een Amerikaanse vapewinkel met een grens van 21 jaar, elk met eigen teksten en een eigen cookie. De hooks worden bij de installatie op alle winkels geregistreerd via Shop::getCompleteListOfShopsID(), waarmee de klassieke valkuil wordt vermeden van een module die alleen op de actieve winkel draait.

§ 05

Robuust ten opzichte van uw thema: terugval in JavaScript

De hook displayBeforeBodyClosingTag hoort vanaf PrestaShop 1.7.5 overal aanwezig te zijn, maar veel eigen thema's laten hem in hun layout weg. dfagegate vangt dat op: de vooraf opgebouwde HTML van het venster wordt via Media::addJsDef aan JavaScript doorgegeven. Bij DOMContentLoaded controleert het script of het element dfagegate-modal in de DOM staat. Zo niet, dan voegt het dat zelf in via insertAdjacentHTML. Dat werkt op elk thema, zonder de layout aan te raken. Een bericht via console.info bevestigt of de terugval is gebruikt.

§ 06

AVG: een strikt noodzakelijk cookie en een gehasht IP-adres

Het cookie dfagegate_ok valt onder de categorie strikt noodzakelijk om aan een wettelijke toegangsverplichting te voldoen, en is in de zin van de ePrivacy-richtlijn vrijgesteld van voorafgaande toestemming, anders dan marketingcookies. De waarde is binair (1 betekent bevestigd), de looptijd is instelbaar, en het cookie draagt SameSite=Lax en bij HTTPS ook Secure. De optionele logboeken van weigeringen bewaren een met SHA-256 gehasht IP-adres (nooit leesbaar), zodat de privacy beschermd blijft terwijl statistiek mogelijk is. Werkt samen met elke bestaande toestemmingsbanner.

§ 07

Ingebouwde diagnose voor snel debugwerk

Zodra dfagegate actief is, voegt hij in de head-tag een HTML-commentaar toe in de trant van dfagegate v1.0.3 enabled=1 should_display=1. Loopt er iets mis, dan leest u dat rechtstreeks in de broncode van de pagina: enabled=0 betekent dat de module niet is aangezet, should_display=0 betekent dat er een uitzondering actief is (IP-adres, pad of ingelogde klant), en ontbreekt het commentaar helemaal, dan is de hook niet geregistreerd. U hoeft dus niet meer in de logboeken te zoeken.