【问题标题】:session_start() through include another file phpsession_start() 通过包含另一个文件 php
【发布时间】:2013-09-15 13:10:28
【问题描述】:

我有几个与我的项目有关的问题。我正在尝试创建一个安全的登录页面,但我遇到了会话问题。

1)。我可以在每个文件中包含session.php 吗?安全吗?

登录.php:

<?php
    require_once('session.php');
    //all code
?>

session.php:

<?php
    $session_name = '...'; 
    $secure = false; 
    $httponly = true; 
    ini_set('session.use_only_cookies', 1); 
    ini_set('session.entropy_file', '/dev/urandom'); 
    ini_set('session.entropy_length', '512');
    ini_set('session.use_only_cookies', 1); 
    $cookieParams = session_get_cookie_params(); 
    session_set_cookie_params($cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"], $secure, $httponly); 
    session_name($session_name); 
    session_start(); 
    session_regenerate_id();   
?>

2)。 session.php足够安全吗?

【问题讨论】:

    标签: php security session


    【解决方案1】:

    我想知道您为什么要设置两次ini_set('session.use_only_cookies', 1);,以及为什么不为会话设置安全标志。如果您要求安全,则使用 SSL 应该是基本的步骤。

    我还想知道您是否知道在每个请求中重新生成会话 ID 的含义。通常的方法是仅在访问级别提升时重新生成它,即在登录期间或在使用管理员权限时。

    除了这些 cmets,我看不到任何邪恶的事情发生。您确实激活了合理的设置。

    【讨论】:

    • ini_set('session.use_only_cookies', 1) 两次只是错误。在 php 中我只能使用 CURL。只能在服务器上设置 SSL(目前我正在使用 localhost)。你建议 curl 包含 session.php 还是保留它现在?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多