如何防止跨站点伪造攻击

时间:2018-12-28 11:05:19

标签: php session

我试图了解有关跨站点伪造攻击的更多信息,并且一直在使用strip_tags和htmlspecialchars,但是刚刚看到一个视频,我也需要更改会话密钥...我是否必须更改会话密钥?我正在尝试通过执行以下基本形式来遵循特定的教程,但始终会失败:

<!DOCTYPE html>
<html>
<head>
    <title> </title>
</head>
<body>
   <form action="csrf.php" method="POST">
    <input type="text" name="first_name" placeholder="What is your first name">
    <input type="hidden" name="csrf" value="<?php echo $csrf ?>">
    <input type="submit" name="submit" value="submit">
   </form>
</body>
</html>

或者我只能执行以下操作,这足以防止会话劫持吗?我必须为每个会话页面都这样做吗?

<?php 
ini_set('session.cookie_httponly', true); // prevent using javascript to steal session
session_start();

if(isset($_SESSION['last_ip']) === false) {
    $_SESSION['last_ip'] = $_SERVER['REMOTE_ADDR'];
}

 if ($_SESSION['last_ip'] !== $_SERVER['REMOTED_ADDR']) {
     session_unset();
     session_destroy();
 }                

0 个答案:

没有答案