Меню документації
Читання на сервері
Формат cookie згоди CookieHug і читання на боці сервера: приклади на PHP, Node.js, Python і C#.
Використання на боці сервера
Окрім localStorage, CookieHug встановлює HTTP-cookie (CookieHugConsent), тож стан згоди можна перевірити на сервері.
PHP
if (isset($_COOKIE['CookieHugConsent'])) {
$consent = json_decode(
urldecode($_COOKIE['CookieHugConsent']), true
);
if ($consent && $consent['statistics']) {
// Користувач погодився на статистику
echo '<script src="https://www.googletagmanager.com/gtag/js?id=G-XXXXX"></script>';
}
if ($consent && $consent['marketing']) {
// Користувач погодився на маркетинг
}
} else {
// Згоди ще немає — не завантажуйте скрипти відстеження
}Node.js (Express)
const cookieParser = require('cookie-parser');
app.use(cookieParser());
app.get('/', (req, res) => {
const raw = req.cookies.CookieHugConsent;
if (raw) {
const consent = JSON.parse(decodeURIComponent(raw));
if (consent.statistics) {
// Рендерити скрипт аналітики на сервері
}
if (consent.marketing) {
// Рендерити маркетингові піксели на сервері
}
}
res.render('index');
});Python (Django)
import json
from urllib.parse import unquote
def index(request):
raw = request.COOKIES.get('CookieHugConsent')
if raw:
consent = json.loads(unquote(raw))
if consent.get('statistics'):
# Рендерити аналітику
pass
if consent.get('marketing'):
# Рендерити маркетинг
pass
return render(request, 'index.html')C# (ASP.NET)
var raw = Request.Cookies["CookieHugConsent"];
if (!string.IsNullOrEmpty(raw))
{
var consent = JsonSerializer.Deserialize<CookieHugConsent>(
Uri.UnescapeDataString(raw)
);
if (consent.Statistics)
{
// Рендерити аналітику на сервері
}
}