📜  PHP 7-会话选项(1)

📅  最后修改于: 2023-12-03 15:03:34.252000             🧑  作者: Mango

PHP 7-会话选项

PHP 7 中引入的一些新的会话选项可以帮助您更好地管理会话状态。这些选项可控制在 PHP 7 中启动和维护会话的行为。

会话选项列表

PHP 7 中加入了以下会话选项:

  • session.use_strict_mode:启用该选项可防止您在启用 cookie 时同时使用 URL 重写以维持会话ID。默认情况下未启用,但在安全性要求较高的应用中建议启用。将此选项设置为 true 可在会话启动时验证 cookie 的来源并且强制使用 cookie。

  • session.lazy_write:默认情况下,PHP 会话处理器会在会话数据发生更改时立即写入会话文件。启用会话延迟写入,可以延迟写入会话数据直到脚本退出响应之前。这可以避免同时包含多个会话文件并且降低记录器负载。

  • session.use_trans_sid:启用此选项可允许在 URL 中传递会话ID,以便维护会话状态。这可以是有用的,但是因为会话ID可以由其他网站检索,因此可能会导致安全问题,特别是如果您的应用程序处理敏感数据。因此,默认情况下未启用此选项。

  • session.sid_bits_per_character:该选项用于控制生成的会话ID的位数。在默认情况下,会话ID 使用 48 位来表示。通过降低位数,可以减少会话ID的长度,并且,由于使用更少的字符,因此生成的会话ID更容易使用。

如何启用会话选项

要启用会话选项,您需要在脚本中使用 ini_set() 函数设置以下选项之一。例如,以下代码启用了 session.use_strict_mode

ini_set('session.use_strict_mode', 1);

同样,您也可以使用 ini_set() 函数来启用其它选项。如果您的应用程序需要一些特定的选项,则可以使用以下代码:

ini_set('session.use_strict_mode', 1);
ini_set('session.lazy_write', 1);
ini_set('session.use_trans_sid', 0);
ini_set('session.sid_bits_per_character', 4);
总结

PHP 7 中提供的新会话选项可以帮助您更好地管理会话状态,并且增加了一些额外的安全措施,以保护您的应用程序中的敏感数据。如果您的应用程序需要额外的选项,则可以使用 ini_set() 函数来启用它们。