会话管理

会话管理是针对API安全的反拒绝服务(DoS)最佳实践。 会话表示访客在您的网站上花费的时间,与管理员用户或客户登录其帐户的时间长短无关。

会话是与同一用户关联的一系列网络HTTP请求和响应事务。 这是一种在客户端(管理员)访问服务器时将客户端与其数据关联起来的方法。 会话用于建立变量,例如访问权和本地化设置,这些变量适用于用户在会话期间与Web应用程序的每次交互。

会话大小

使用以下配置设置可限制管理员用户和店面访客的最大会话大小:

  • Max Session Size in Admin — 限制以字节为单位的最大会话大小。 使用0禁用。
  • Max Session Size in Storefront — 限制以字节为单位的最大会话大小。 使用0禁用。
TIP
这两个设置都以字节计量,默认为256000字节(或256 KB)。

要配置最大会话大小:

  1. 在​ 管理员 ​侧边栏上,转到​ Stores > Settings>Configuration

  2. 在左侧面板中,展开​ Advanced ​并选择​ System

  3. 展开 扩展选择器 Security ​部分以访问会话设置。

    会话设置 {width="600" modal="regular"}

  4. 输入以字节为单位的新会话大小。

    note warning
    WARNING
    将该值设置过低可能会导致问题。 如果设置缺省值256000字节下面的任一选项,您将看到一条警告消息。 如果单击​ No,系统会将值更改为256000
  5. 单击​ Save Config

管理员会话

如果超过最大会话大小,将显示一条错误消息,并且系统会将会话大小约束记录到var/log目录。

如果在设置会话大小过低后无法访问管理员,请使用CLI重置配置:

bin/magento config:set system/security/max_session_size_admin 256000

店面会议

如果超过最大会话大小,则不会显示任何错误,但系统会将会话大小约束记录到var/log目录。

会话验证

Adobe Commerce和Magento Open Source允许您验证会话变量,作为防止可能的会话固定攻击或试图毒害或劫持用户会话的保护措施。 会话验证设置可确定在每次访问商店时如何验证会话变量,以及会话ID是否包含在商店的URL中。

有关技术信息,请参阅​ 配置指南 ​中的对会话存储使用Redis

常规配置 — Web会话验证

通过将验证变量中的值与为用户存储在$_SESSION数据中的会话数据进行比较,验证会检查访客的真实身份。 如果信息未按预期发送,并且对应的变量为空,则验证失败。 根据会话验证设置,如果会话变量未能通过验证过程,则客户端会话将立即终止。

启用所有验证变量有助于防止攻击,但也可能影响服务器的性能。 默认情况下,禁用所有会话变量验证。 我们建议您尝试这些设置,以找到适合您的Adobe Commerce或Magento Open Source安装的最佳组合。 激活所有验证变量可能会过度限制,并且可能会阻止访问具有通过代理服务器或从防火墙后面发起的Internet连接的客户。 要了解有关会话变量及其使用的更多信息,请参阅Linux®系统的系统管理文档。

要配置会话验证:

  1. 在​ 管理员 ​侧边栏上,转到​ Stores > Settings>Configuration

  2. 在左侧面板中,展开​ General ​并选择​ Web

  3. 展开​ Session Validation Settings ​部分的 扩展选择器

  4. 设置每个配置选项:

    • Validate REMOTE_ADDR — 设置为Yes以验证请求的IP地址是否与$_SESSION变量中存储的内容匹配。

    • Validate HTTP_VIA — 设置为Yes以验证传入请求的代理地址是否与$_SESSION变量中存储的地址匹配。

    • Validate HTTP_X_FORWARDED_FOR — 设置为Yes以验证请求的转发地址是否与$_SESSION变量中存储的地址匹配。

    • Validate HTTP_USER_AGENT — 设置为Yes以验证会话期间用于访问存储的浏览器或设备是否与$_SESSION变量中存储的内容匹配。

  5. 完成后,单击​ Save Config

管理会话生命周期

作为安全措施,管理员 ​最初设置为在键盘不活动达900秒(15分钟)后超时。 您可以调整会话的生命周期以适合您的工作方式。

要调整管理员会话生命周期:

  1. 在​ 管理员 ​侧边栏上,转到​ Stores > Settings>Configuration

  2. 在左侧面板中向下滚动并展开​ Advanced

  3. 单击​ Admin

  4. 展开​ Security ​部分的 扩展选择器

  5. 对于​ Admin Session Lifetime (seconds),输入会话在超时之前保持活动状态的秒数。

    高级配置 — 管理员安全设置 {width="600" modal="regular"}

  6. 完成后,单击​ Save Config。##管理员会话生命周期

作为安全措施,管理员 ​最初设置为在键盘不活动达900秒(15分钟)后超时。 您可以调整会话的生命周期以适合您的工作方式。

要调整管理员会话生命周期:

  1. 在​ 管理员 ​侧边栏上,转到​ Stores > Settings>Configuration

  2. 在左侧面板中向下滚动并展开​ Advanced

  3. 单击​ Admin

  4. 展开​ 安全性 ​部分的 扩展选择器

  5. 对于​ Admin Session Lifetime (seconds),输入会话在超时之前保持活动状态的秒数。

    高级配置 — 管理员安全设置 {width="600" modal="regular"}

  6. 完成后,单击​ Save Config

recommendation-more-help
d3c62084-5181-43fb-bba6-1feb2fcc3ec1