Как с генерировать csrf токен, используя HTML meta tag?

182
18 июля 2018, 14:50

Нужно с генерировать csrf токен для POST запроса ,

Можно ли использовать специальный HTML meta tag и как это сделать?

Answer 1

CSRF токен - это по сути строка которая крепится за пользователем, то есть просто создаете в сессии хеш, приведу пример для PHP7:

session_start();
if (!isset($_SESSION['csrf_token'])) {
    $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}
$token = $_SESSION['csrf_token']; // передаете на форму.

Далее я предпочитаю класть этот токен в meta для AJAX запросов и для форм делаете:

<input type="hidden" name="token" value="<?= $token; ?>">

и потом при сабмите формы проверяете токен что в сессии с тем что пришел в форме.

READ ALSO
Подстановка в custom при генерации страницы в DLE

Подстановка в custom при генерации страницы в DLE

Как вывести, по возможности без дополнительных модулей, краткие новости с номерами получаемыми PHP скриптом в момент генерации страницы

181
PHP аналог array_unique без ключей

PHP аналог array_unique без ключей

Имеется ли аналог этой команды, чтобы определялись уникальные слова, без указания ключа первого вхождения? Может у этой команды есть какой-нибудь...

197
Вывести значение в необходимом формате php

Вывести значение в необходимом формате php

Есть значение в БД номера телефона в формате 380501234567 Требуется вывести это значение на экран в формате (050) 123-45-67

206
file_get_content и json_encode php

file_get_content и json_encode php

Можете подсказать, почему подобный код (ниже), выводит такую ошибку Warning: Illegal string offset 'key'

200