PHP会话cookie-安全问题



我使用会话cookie在Wordpress中使用以下代码显示从一个页面到另一个页面的类别id:

<?php if(is_product_category()) {
session_start();
$cat_obj = $wp_query->get_queried_object();
$thiscat_id = $cat_obj->term_id;
$_SESSION['category'] = $thiscat_id;
} ?>
<?php if(is_product()) {
session_start();
}
?>
<div <?php if(is_product()) { ?> data-cat="<?php echo $_SESSION['category']; ?>" <?php } ?> id="content" class="site-content">

然而,在阅读了Sessions之后,我发现如果操作不当,它们可能会带来安全风险。

我只是想知道上面的代码是否有任何可能影响安全性的缺陷?

根据评论,如果它未能保护具有一定价值的资产,这只是一个安全风险——您的问题不清楚资产的价值。例如,如果你有一个"类别",允许在你的网站上进行管理操作,那么可能存在风险。

是的,会话存在很大的安全问题,但大多数问题与PHP代码无关,而是与PHP和Web服务器配置有关:

身份验证状态更改时(登录注销(,必须始终更改
  • 会话ID
  • 除非通过HTTPS访问该站点,否则会话cookie具有安全标志,劫持会话是微不足道的
  • 空会话必须触发新的会话id和默认会话状态
  • 会话cookie应通过httponly
  • 在共享主机上,会话数据应该使用主机上保留的密钥而不是进行加密
  • 最终用户永远不应该访问会话数据
  • 会话ID不能是可预测的

最新更新