Здравейте!
Купих си книгата "Основи на php сигурността" и си раглеждам примерчетата.
Има един пример против Cross-site фалшефикати на заявки който е следният:
Та това пиши в книгата!
Аз използвам форма с скрито поле на което ми задавам стойноста на $token.
Всичко би трябвало са си работи,но когато проверява дали $_POST['token] ==$_SESSION['token'] те не съвпадат.Изкарах резултата от $_POST и той винаги беше с една стойност на заде.Как да го оправя да е синхронизиран с $token?[/code]
Купих си книгата "Основи на php сигурността" и си раглеждам примерчетата.
Има един пример против Cross-site фалшефикати на заявки който е следният:
Код:
<?php
session_start();
$token=md5(uniqid(rand(), TRUE));
$_SESSION['token']=$token;
$_SESSION['token_time']=time();
?>
Код:
<?php
if(isset($_SESSION['token']) && $_POST['token'] ==$$_SESSION['token'])
{
/*Валиден отличителен знак*/
}
?>
Код:
<?php
$token_age =time() - $_SESSION['token_name'];
if($token_age <=300)
{
echo 'Изминали са по-малко от 5м.';
}
?>
Аз използвам форма с скрито поле на което ми задавам стойноста на $token.
Код:
<form action="" method="post">
<input type="passwоrd" name="pass"/>
<input type="hidden" name="token" value="'.$token.'"/>
<input type="submit" name="submit" value="Изтрий">
</form>