会话管理
会话管理是针对API安全的反拒绝服务(DoS)最佳实践。 会话表示访客在您的网站上花费的时间,与管理员用户或客户登录其帐户的时间长短无关。
会话是与同一用户关联的一系列网络HTTP请求和响应事务。 这是一种在客户端(管理员)访问服务器时将客户端与其数据关联起来的方法。 会话用于建立变量,例如访问权和本地化设置,这些变量适用于用户在会话期间与Web应用程序的每次交互。
会话大小
使用以下配置设置可限制管理员用户和店面访客的最大会话大小:
- Max Session Size in Admin — 限制以字节为单位的最大会话大小。 使用
0
禁用。 - Max Session Size in Storefront — 限制以字节为单位的最大会话大小。 使用
0
禁用。
256000
字节(或256 KB)。要配置最大会话大小:
-
在 管理员 侧边栏上,转到 Stores > Settings>Configuration。
-
在左侧面板中,展开 Advanced 并选择 System。
-
展开 Security 部分以访问会话设置。
{width="600" modal="regular"}
-
输入以字节为单位的新会话大小。
note warning WARNING 将该值设置过低可能会导致问题。 如果设置缺省值256000字节下面的任一选项,您将看到一条警告消息。 如果单击 No,系统会将值更改为 256000
。 -
单击 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。
{width="600" modal="regular"}
通过将验证变量中的值与为用户存储在$_SESSION
数据中的会话数据进行比较,验证会检查访客的真实身份。 如果信息未按预期发送,并且对应的变量为空,则验证失败。 根据会话验证设置,如果会话变量未能通过验证过程,则客户端会话将立即终止。
启用所有验证变量有助于防止攻击,但也可能影响服务器的性能。 默认情况下,禁用所有会话变量验证。 我们建议您尝试这些设置,以找到适合您的Adobe Commerce或Magento Open Source安装的最佳组合。 激活所有验证变量可能会过度限制,并且可能会阻止访问具有通过代理服务器或从防火墙后面发起的Internet连接的客户。 要了解有关会话变量及其使用的更多信息,请参阅Linux®系统的系统管理文档。
要配置会话验证:
-
在 管理员 侧边栏上,转到 Stores > Settings>Configuration。
-
在左侧面板中,展开 General 并选择 Web。
-
展开 Session Validation Settings 部分的 。
-
设置每个配置选项:
-
Validate REMOTE_ADDR — 设置为
Yes
以验证请求的IP地址是否与$_SESSION
变量中存储的内容匹配。 -
Validate HTTP_VIA — 设置为
Yes
以验证传入请求的代理地址是否与$_SESSION
变量中存储的地址匹配。 -
Validate HTTP_X_FORWARDED_FOR — 设置为
Yes
以验证请求的转发地址是否与$_SESSION
变量中存储的地址匹配。 -
Validate HTTP_USER_AGENT — 设置为
Yes
以验证会话期间用于访问存储的浏览器或设备是否与$_SESSION
变量中存储的内容匹配。
-
-
完成后,单击 Save Config。
管理会话生命周期
作为安全措施,管理员 最初设置为在键盘不活动达900秒(15分钟)后超时。 您可以调整会话的生命周期以适合您的工作方式。
要调整管理员会话生命周期:
-
在 管理员 侧边栏上,转到 Stores > Settings>Configuration。
-
在左侧面板中向下滚动并展开 Advanced。
-
单击 Admin。
-
展开 Security 部分的 。
-
对于 Admin Session Lifetime (seconds),输入会话在超时之前保持活动状态的秒数。
{width="600" modal="regular"}
-
完成后,单击 Save Config。##管理员会话生命周期
作为安全措施,管理员 最初设置为在键盘不活动达900秒(15分钟)后超时。 您可以调整会话的生命周期以适合您的工作方式。
要调整管理员会话生命周期:
-
在 管理员 侧边栏上,转到 Stores > Settings>Configuration。
-
在左侧面板中向下滚动并展开 Advanced。
-
单击 Admin。
-
展开 安全性 部分的 。
-
对于 Admin Session Lifetime (seconds),输入会话在超时之前保持活动状态的秒数。
{width="600" modal="regular"}
-
完成后,单击 Save Config。