Naar de pagina-inhoud

Gravity Forms & versleuteling van je formulieren


Met de AVG (nee, niet die van de gratis antivirus, maar de GDPR) die vanaf 25 mei aanstaande actief is, is het extra belangrijk alles goed op orde en zo veilig mogelijk te hebben. Je zal zeker niet de eerste (noch enige) website eigenaar zijn die daar eigenlijk niet zo bij stil heeft gestaan. Wel doen dus!

Wanneer je plugins als Gravity Forms gebruikt om de formulieren op je website makkelijk aan te kunnen maken, is het belangrijk om niet te vergeten dat de ingevoerde data ook opgeslagen worden in je database. En dat die data gewoon te lezen zijn voor iedereen die in de database terecht kan (of gaat) komen.

Ik heb er in het verleden Gravitate Encryption voor gebruikt, maar die plugin is al jaren niet bijgewerkt. En hoewel het ook ‘het zit gewoon puik in elkaar, dus bijwerken is nergens voor nodig’ zou kunnen zijn, blijft het een risico. Er zijn andere (betaalde) plugins als deze, maar je kunt een soortgelijke functionaliteit ook heel mooi toevoegen met behulp van functies in Gravity Forms zelf. En dat zonder ontzettend moeilijk te hoeven doen. Gauw aan het werk dus!

Encryptie activeren

Je kunt de code aan de functions.php van je (child) theme toevoegen. We beginnen met het toevoegen van een encryptie bij het opslaan van de ingestuurde velden.

Zodra je functions.php op je server is aangepast met deze code, zullen de velden niet zo even uitgelezen kunnen worden in de database. Zonder decryptie zul jij het ook bij de inzendingen van je formulier niet meer kunnen lezen. Wel zo handig om die dus ook toe te voegen.

Decryptie toevoegen

Met behulp van bovenstaande code wordt de inhoud van een inzending weer fatsoenlijk leesbaar. Let er wel op dat er een variabele $date_implemented is toegevoegd. Deze is voor als je al inzendingen in je database hebt staan die logischerwijs zonder de encryptie zijn opgeslagen. Het is dus belangrijk om daar de juiste datum & tijd in te voeren, zodat de inzendingen voor de implementatie geen decryptie gaan krijgen: is immers nergens voor nodig.

Mocht je nog helemaal geen inzendingen hebben staan, dan kun je de onderstaande code gebruiken voor het decrypten:

En zo zijn de gegevens van inzendingen net wat beter beschermd dan zonder encryptie. Niet vergeten om ook SSL te activeren op je site natuurlijk 😉


Ontzettende autodidact. Begonnen met HTML in 2001, PHP in 2004. Een eigen CMS geschreven in 2008. Bij voltooiing echter besloten toch voor een open-source oplossing te gaan: WordPress. Geen moment spijt van gehad.


Gerelateerde berichten


*