< PHP

PHP CSRF token

Szerző: Sallai András

Copyright © Sallai András, 2021

CC Attribution-Share Alike 4.0 International

Web: http://szit.hu

Bevezetés

A webhelyek közötti kéréshamisítás angolul, Cross-Site Request Forgery, röviden CSRF.

Szeretnénk megnehezíteni az ilyen támadások megvalósítását.

Megvalósítás

session_start(); $_SESSION['token'] = bin2hex(random_bytes(32));

A CSRF tokent beépítjük a HTML űrlapunkba:

<input type="hidden" name="token" value="<?php echo $_SESSION['token'] ?>"/>

Az űrlap küldésekor ellenőrizzük a tokent:

if (hash_equals($_POST['token'], $_SESSION['token'])) { }