Loading...
Если я возьму случайный набор букв и цифр запихну в сессию при входе.А потом в шапке буду его каждый раз проверять, то это будет токен или это хрень какая то?)
Просто говорят что это защитит от CSRF.
Body Green (09.07.2018 в 13:16)
Если я возьму случайный набор букв и цифр запихну в сессию при входе.А потом в шапке буду его каждый раз проверять, то это будет токен или это хрень какая то?)
Просто говорят что это защитит от CSRF.

Проверять нужно при отправки данных через POST
TuT (09.07.2018 в 13:19)
Body Green (09.07.2018 в 13:16)
Если я возьму случайный набор букв и цифр запихну в сессию при входе.А потом в шапке буду его каждый раз проверять, то это будет токен или это хрень какая то?)
Просто говорят что это защитит от CSRF.

Проверять нужно при отправки данных через POST

И только?
Body Green (09.07.2018 в 13:20)
TuT (09.07.2018 в 13:19)
Body Green (09.07.2018 в 13:16)
Если я возьму случайный набор букв и цифр запихну в сессию при входе.А потом в шапке буду его каждый раз проверять, то это будет токен или это хрень какая то?)
Просто говорят что это защитит от CSRF.

Проверять нужно при отправки данных через POST

И только?


Сross Site Request Forgery — межсайтовая подделка запроса
Body Green (09.07.2018 в 13:20)
TuT (09.07.2018 в 13:19)
Body Green (09.07.2018 в 13:16)
Если я возьму случайный набор букв и цифр запихну в сессию при входе.А потом в шапке буду его каждый раз проверять, то это будет токен или это хрень какая то?)
Просто говорят что это защитит от CSRF.

Проверять нужно при отправки данных через POST

И только?

token генерируется для каждого пользователя и является уникальным. token не совпал, запрос не ушел.
TuT (09.07.2018 в 13:25)
Body Green (09.07.2018 в 13:20)
TuT (09.07.2018 в 13:19)
Body Green (09.07.2018 в 13:16)
Если я возьму случайный набор букв и цифр запихну в сессию при входе.А потом в шапке буду его каждый раз проверять, то это будет токен или это хрень какая то?)
Просто говорят что это защитит от CSRF.

Проверять нужно при отправки данных через POST

И только?

token генерируется для каждого пользователя и является уникальным. token не совпал, запрос не ушел.


Токен генерируется не только для каждого пользователя, но и для каждого запроса - НОВЫЙ токен.
PhpStorm (09.07.2018 в 13:30)
TuT (09.07.2018 в 13:25)
Body Green (09.07.2018 в 13:20)
TuT (09.07.2018 в 13:19)
Body Green (09.07.2018 в 13:16)
Если я возьму случайный набор букв и цифр запихну в сессию при входе.А потом в шапке буду его каждый раз проверять, то это будет токен или это хрень какая то?)
Просто говорят что это защитит от CSRF.

Проверять нужно при отправки данных через POST

И только?

token генерируется для каждого пользователя и является уникальным. token не совпал, запрос не ушел.


Токен генерируется не только для каждого пользователя, но и для каждого запроса - НОВЫЙ токен.

Я знаю Гг не дописал, извиняюсь.
PhpStorm (09.07.2018 в 13:30)
TuT (09.07.2018 в 13:25)
Body Green (09.07.2018 в 13:20)
TuT (09.07.2018 в 13:19)
Body Green (09.07.2018 в 13:16)
Если я возьму случайный набор букв и цифр запихну в сессию при входе.А потом в шапке буду его каждый раз проверять, то это будет токен или это хрень какая то?)
Просто говорят что это защитит от CSRF.

Проверять нужно при отправки данных через POST

И только?

token генерируется для каждого пользователя и является уникальным. token не совпал, запрос не ушел.


Токен генерируется не только для каждого пользователя, но и для каждого запроса - НОВЫЙ токен.

Но где они все храняться то?
Body Green , На
<?
session_start();
$chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$max = strlen($chars);
$token = '';
for($i = 0; $i <= 32; ++$i){
$token .= $chars[rand(0,$max)];
}


$tokens_ = (!empty($_SESSION['token']) ? $_SESSION['token'] : $_SESSION['token'] = $token);
function tokensMatch ($tokens_){
return hash_equals ($tokens_, $_SESSION['token']);
}

if(isset($_POST['ok'])){

if(!empty($_POST['token']) && tokensMatch($_POST['token'])){
//при удачной отправке, принудительно обновим хеш
$_SESSION['token'] = $token;
echo $_POST['msg'];

}else{

echo'ERR';

}
}
?>
<form action="" name="message" method="POST" >
<input name="msg" type="text" value="" /></textarea>
<input type="hidden" name="token" value="<?=$tokens_;?>"/>
<input name="ok" type="submit" value="Go!">

________
посл. ред. 09.07.2018 в 13:37; всего 2 раз(а); by TuT
Body Green (09.07.2018 в 13:33)
PhpStorm (09.07.2018 в 13:30)
TuT (09.07.2018 в 13:25)
Body Green (09.07.2018 в 13:20)
TuT (09.07.2018 в 13:19)
Body Green (09.07.2018 в 13:16)
Если я возьму случайный набор букв и цифр запихну в сессию при входе.А потом в шапке буду его каждый раз проверять, то это будет токен или это хрень какая то?)
Просто говорят что это защитит от CSRF.

Проверять нужно при отправки данных через POST

И только?

token генерируется для каждого пользователя и является уникальным. token не совпал, запрос не ушел.


Токен генерируется не только для каждого пользователя, но и для каждого запроса - НОВЫЙ токен.

Но где они все храняться то?


самая простая CSRF защита


<?php
session_start();
if (filter_has_var(INPUT_POST, 'do')) {
if ($_POST['do'] === session_id()) {
session_regenerate_id();
echo 'Всё верно';
} else {
die('Косяк');
}
}
?>
<form action="" method="post">
<button name="do" value="<?= session_id() ?>">Тест запроса с токеном</button>
<button name="do">Тест запроса без токена</button>
</form>

________
посл. ред. 09.07.2018 в 17:17; всего 2 раз(а); by PhpStorm
Онлайн: 1
Время:
Gen. 0.1074
(c) Bym.Guru 2010-2026