duanmianzhou5353 2019-07-01 19:52
浏览 41

在所有php页面中应用会话重新生成id是否安全?

Am trying to prevent session hijacking and other forms of csrf attack on my site and everything seems to be working fine.

My question is that I have session_regenerate_id();
on both index.php and save.php files

Am I still protected against session hijacking and fixation attack etc or should I just remove session_regenerate_id(); from index.php

index.php

<?php
 session_start();
session_regenerate_id();
 //$token= md5(uniqid());

$token = md5(uniqid().$_SERVER['REMOTE_ADDR']);
 $_SESSION['update_token']= $token;
 session_write_close();
?>
<html>
<body>
<form method="post" action="save.php">
 <input type="hidden" name="token" value="<?php echo $token; ?>" />

<input type="submit" value="submit" />

</form>
</body>
</html>

save.php

 <?php
     session_start();

     session_regenerate_id();
     $token = $_SESSION['update_token'];
     unset($_SESSION['update_token']);
     session_write_close();

     if ($_POST['token']==$token) {
       // insert into database via PDO
     } else {
       // session attack detected.
     }
    ?>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
    • ¥20 怎么用dlib库的算法识别小麦病虫害
    • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
    • ¥15 java写代码遇到问题,求帮助
    • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
    • ¥15 有了解d3和topogram.js库的吗?有偿请教
    • ¥100 任意维数的K均值聚类
    • ¥15 stamps做sbas-insar,时序沉降图怎么画
    • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
    • ¥15 关于#Java#的问题,如何解决?