ко всем ссылкам добавлять сигнатуру.
пример функции для генерации ссылок
function getLink($url, $data) {
ksort($data);
$query = http_build_query($data);
$signature = sha512($_SESSION['salt'] . $query);
return $url . '?' . $query . '&sign=' . $signature;
}
при получении запроса - добавить аналогичную функцию для проверки сигнатуры.
function checkSign() {
$data = $_GET;
$signQuery = $_GET['sign'];
unset($data['sign']);
ksort($data);
$query = http_build_query($data);
$signature = sha512($_SESSION['salt'] . $query);
return $signature === $signQuery;
}
если юзер чтото поменяет то сигнатура не сойдется.
чтобы увеличить безопасность лучше в сигнатуру добавить еще и юрл. иначе у
/users/?id=5
/post/?id=5
сигнатуры будут одинаковые