Auditlogboek backoffice: volledige gids
Het auditlogboek van de backoffice installeren, instellen en benutten: traceerbaarheid van aanmaken, wijzigen en verwijderen met de verschillen vóór en na, opvolging van de aanmeldingen, verbergen van gevoelige velden, bewaartermijn en CSV-export voor PrestaShop 8 en 9.
Overzicht
De module Auditlogboek backoffice legt vast wie wat wanneer heeft gewijzigd in uw PrestaShop-backoffice. Bij elke aanmaak, wijziging of verwijdering bewaart hij de betrokken medewerker, zijn profiel, het IP-adres, de controller, de HTTP-methode, de URL, het tijdstip en, bij wijzigingen, het detail per veld (oude waarde naar nieuwe waarde). Hij legt ook het begin van elke medewerkerssessie vast, en op PrestaShop 8 bovendien de mislukte inlogpogingen en de afmeldingen.
De module steunt uitsluitend op de native hooks van ObjectModel en gebruikt geen enkele override van de kern. Hij werkt met PrestaShop 8 en 9, met één winkel en in multistore, en is meertalig.
Het logboek is op beveiliging en AVG-conformiteit gericht: het levert een betrouwbaar auditspoor (verantwoording en traceerbaarheid van de verwerkingen) zonder de werking van uw winkel te wijzigen.
Installatie
- Open in de backoffice Modules > Modulebeheer.
- Klik op Een module installeren en plaats het ZIP-archief van de module.
- Klik na de installatie op Configureren.
Bij de installatie maakt de module twee eigen tabellen aan (het logboek en het detail van de gewijzigde velden), registreert hij zijn hooks en voegt hij het menu-item Geavanceerde parameters > Auditlogboek toe. Om te starten hoeft u niets in te stellen: er staat al een zinnige set entiteiten aan.
Werking
De module luistert naar de algemene hooks van ObjectModel die in PrestaShop 8 en 9 aanwezig zijn (het toevoegen, bijwerken en verwijderen van objecten) en naar de weergavehook van de backoffice. Bij elke bewerking op een gevolgde entiteit:
- bepaalt hij welke medewerker is ingelogd, welk profiel die heeft en welke winkel actief is;
- vergelijkt hij bij een wijziging de toestand vóór en na, en bewaart hij alleen de velden die werkelijk zijn veranderd;
- legt hij bij een aanmaak of een verwijdering (naar keuze) alle velden van het object vast;
- schrijft hij de vermelding rechtstreeks in de database.
Het schrijven gebeurt in rechtstreekse SQL, buiten ObjectModel om: er is dus geen risico op terugkerende hooks, en de audit kan nooit een zakelijke bewerking onderbreken.
Configuratie
Gevolgde entiteiten
Vink de entiteiten aan die u wilt volgen, gegroepeerd per domein: Catalogus (producten, categorieën, fabrikanten, leveranciers, varianten, specifieke prijzen, afbeeldingen, voorraden en meer), Klanten en bestellingen (bestellingen, besteltoestanden, klanten, adressen, groepen, winkelwagenregels), Transport en lokalisatie (vervoerders, landen, zones, valuta, belastingen), Inhoud (CMS-pagina’s en -categorieën, metagegevens) en Beheer en beveiliging (medewerkers, profielen, webservicesleutels, winkels, configuratie).
Alleen de aangevinkte entiteiten worden vastgelegd. Er staat standaard een zinnige, niet te uitbundige set aan; de Configuratie staat standaard uit omdat die erg veel oplevert.
De backoffice-aanmeldingen volgen
Staat die optie aan, dan legt de module het begin van de sessie van elke medewerker vast. Op PrestaShop 8 legt hij ook de mislukte inlogpogingen vast (met het ingetypte e-mailadres) en de afmeldingen.
Op PrestaShop 9 wordt de inlogpagina door Symfony beheerd: de geslaagde aanmeldingen worden vastgelegd, maar de mislukkingen en de afmeldingen op het inlogscherm worden niet opgevangen. Alle gegevenswijzigingen blijven op beide versies wel vastgelegd.
Het detail van aanmaken en verwijderen bewaren
Schakelt het vastleggen van alle velden in bij een toevoeging of een verwijdering. Zet die optie uit om alleen de gebeurtenis te bewaren (wie, wat, wanneer) zonder het volledige detail van het object.
Ook de acties buiten de backoffice volgen
Standaard worden alleen de acties van een in de backoffice ingelogde medewerker vastgelegd. Schakel die optie in om ook de wijzigingen te volgen die vanuit de frontoffice, een CRON-taak of de webservice worden aangestuurd. Het aantal vermeldingen kan dan flink toenemen.
Bewaartermijn
Bepaal de bewaartermijn in dagen (standaard 365). Een dagelijkse automatische opruiming wist oudere vermeldingen. Zet de waarde op 0 voor onbeperkt bewaren.
Uitgesloten medewerkers
Voer de identificaties in van de medewerkers (gescheiden door komma’s) van wie de acties niet mogen worden vastgelegd, bijvoorbeeld een technisch integratieaccount.
Volumegrenzen
Twee instellingen beschermen de database: het maximale aantal velden dat per vermelding wordt vastgelegd en de maximale lengte van een waarde (daarboven wordt die afgekapt). Een interne beveiliging begrenst bovendien het aantal vermeldingen per verzoek, om de prestaties bij massale imports te sparen.
Het logboek raadplegen
Ga naar Geavanceerde parameters > Auditlogboek. De lijst toont per vermelding: de datum, het soort actie (een gekleurde badge), de entiteit, de identificatie en het opschrift van het object, het aantal gewijzigde velden, de medewerker, het profiel, het IP-adres en de controller. U kunt op die kolommen filteren en sorteren.
Detailweergave
Klik op een vermelding om de detailweergave te openen. Die toont de volledige context (medewerker, IP, controller, methode, URL, User-Agent) en, bij een wijziging, een verschiltabel per veld: de oude waarde (op een roze achtergrond, doorgestreept) en de nieuwe (op een groenige achtergrond).
Beveiliging van gevoelige gegevens
Gevoelige velden worden nooit onversleuteld vastgelegd. Elk veld waarvan de naam een gevoelige term bevat (wachtwoord, secure_key, token, API-sleutel, webservicesleutel en dergelijke) wordt automatisch door sterretjes vervangen. Het logboek meldt dat een gevoelig veld is veranderd, zonder de waarde prijs te geven.
Conformiteit, bewaartermijn en export
Het logboek bewaart de naam van de medewerker ook nadat die is verwijderd, wat een duurzaam auditspoor waarborgt. Met de knop Exporteren naar CSV in het logboekscherm maakt u een UTF-8-bestand (geschikt voor Excel) met alle kolommen: datum, actie, entiteit, object, medewerker, profiel, IP, controller, methode en URL. De knop Opruimen wist alle vermeldingen (een handeling die aan profielen met verwijderrecht is voorbehouden).
De CSV-export is uitstekend om uw auditbewijzen aan een functionaris voor gegevensbescherming, een bedrijfsrevisor of een beveiligingsauditor te bezorgen.
Verwijderen
Bij het verwijderen verdwijnen de tabellen van het logboek, de volledige historiek, de hooks en het menu-item. Die handeling is definitief: exporteer het logboek vooraf als u er een spoor van moet bewaren.
FAQ
Vertraagt de module de backoffice?
De impact is minimaal: rechtstreekse SQL-schrijfacties, filtering per entiteit en een volumebeveiliging. U kunt de belasting nog verlagen door minder entiteiten te volgen.
Worden de wachtwoorden vastgelegd?
Nee. Gevoelige velden worden vóór het bewaren door sterretjes vervangen.
Wijzigt de module de kern van PrestaShop?
Nee, geen enkele override. De module gebruikt alleen de officiële hooks van ObjectModel en een interne autoloader.
Worden de acties in de frontoffice vastgelegd?
Standaard niet: het logboek richt zich op de acties van medewerkers in de backoffice. U kunt het volgen van acties in de frontoffice, via CRON en via de webservice in de configuratie inschakelen.
Werkt de module met PrestaShop 9?
Ja, hij werkt met PrestaShop 8.x en 9.x, met één winkel en in multistore, en is meertalig.