dakata__92
Super Moderator
Намерих този код в темата за защита на формите за изпращане на информация ! Някой може ли да ми обяни какво точно предотвратява и надежден ли е ? До колкото прочетох, проверява дали заявката е изпратена от моя домейн, а не от друго място!
PHP:
<?php
function security_start_session($ssl, $timeout, $maxtime, $ip){
// ... security checks
session_start();
session_regenerate_id(true);
return 1;
}
if (security_start_session(0, 6*60, 20*60, 1) != 1){
echo "<br>session destroyed!";
return;
}
?>
<html>
<head>
<title>WorldBank.dom XSRF protected page</title>
</head>
<body>
<?php
if( isset($_REQUEST['submit'])){
if (($_SESSION['token']!=$_POST['token']) || (!isset($_SESSION['token'])) || (!isset($_POST['token']))){
session_unset();
session_destroy();
echo "Invalid session</body></html>";
return;
}
else{
echo 'Form is submitted';
}
}
else{
echo '<form action=".php" method="POST">';
$_SESSION['token'] = uniqid(rand(), true);
echo '<input type="hidden" name="token" value="'.$_SESSION['token'].'">';
echo '<input type="submit" name="submit">';
echo '</form><br><br><br>';
}
?>
</body></html>