Я создал форму входа в index.php, начиная с переменной сеанса.
session_start()
$_SESSION["token"] = rand(1000, 9999);
Отправка данных формы и переменной сеанса через ajax
$( "#login-button" ).click(function(e) {
e.preventDefault();
var form = $('form#login-form')[0];
var formData = new FormData(form);
formData.append("token", "<?php echo $_SESSION["token"]; ?>");
$.ajax({
type: 'POST',
url: 'user_login.php',
data: formData,
contentType: false,
cache: false,
processData:false,
beforeSend: function(){
},
success: function(data){
}
});
});
Внутри user_login.php я проверяю почтовый токен и токен сеанса и, если они отличаются, выдает ошибку.
<?php
session_start()
if(!empty($_SESSION["token"]) && !empty($_POST["token"]) && $_SESSION["token"] == $_POST["token"])
{
//checking the formdata variables here for login
}
else {
echo "SESSION: " . $_SESSION["token"];
echo " TOKEN " . $_POST["token"];
}
?>
В Google Chrome я получаю следующее сообщение: ![enter image description here](https://i.stack.imgur.com/gPjLM.png)
в Firefox и Edge все еще работает.
Почему он отличается от Chrome?