1. Go to this page and download the library: Download marwanalsoltany/gdpr-tools library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
marwanalsoltany / gdpr-tools example snippets
public function onKernelResponse(\Symfony\Component\HttpKernel\Event\ResponseEvent $event)
{
$response = $event->getResponse();
$content = $response->getContent();
$sanitizedContent = $this->sanitizedContent($content);
$response->setContent($sanitizedContent);
}
private function sanitizedContent(string $content): string
{
// the condition that determines whether to sanitize the content or not
$condition = function ($data) {
// only html responses
// or you can also check for some consent cookie here
return stripos($data, '<!DOCTYPE html>') !== false;
};
// the temporary URIs/URLs to set for the sanitized elements
$uris = [
'link' => sprintf('data:text/css;charset=UTF-8;base64,%s', base64_encode('body::after{content:"Consent Please";color:orangered}')),
'script' => sprintf('data:text/javascript;charset=UTF-8;base64,%s', base64_encode('console.warn("Script Blocked!")')),
'iframe' => sprintf('data:text/html;charset=UTF-8;base64,%s', base64_encode('<div>Consent Please!</div>')),
];
$whitelist = [
'cdn.your-cmp.com',
'unpkg.com',
'cdnjs.cloudflare.com',
];
// the data to append to the final html
$appends = [
'body' => [
'<script defer src="/path/to/client-side-code.js"></script>',
],
];
$sanitizedHTML = (new \MAKS\GDPRTools\Backend\Sanitizer())
->setData($content)
->setCondition($condition)
->setURIs($uris)
->setWhitelist($whitelist)
->setAppends($appends)
->sanitize()
->get();
// or simply
// $sanitizedHTML = (new \MAKS\GDPRTools\Backend\Sanitizer())->sanitizeData($content, $condition, $uris, $whitelist, $appends);
return $sanitizedHTML;
}
// first, you need to rename the application entry point to something else,
// let's say `index.php` is the entry point, so `index.php` becomes `app.php`
// second, make a new file with the same name as the old name of app entry point
// in our case it's `index.php`, the content of this new file would be something like this:
// first, you need to download the PHAR archive (gdpr-tools.phar) from the releases page and add it in you web-server root directory
// second, you need to rename the application entry point to something else,
// let's say `index.php` is the entry point, so `index.php` becomes `app.php`
// third, make a new file with the same name as the old name of app entry point
// in our case it's `index.php`, the content of this new file would be something like this: