session_start()通过包含另一个文件php

时间:2013-09-15 13:10:28

标签: php security session

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

1)。我可以在每个文件中加入session.php吗?这样安全吗?

login.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足够安全吗?

1 个答案:

答案 0 :(得分:0)

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

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

除了这些评论,我看不到任何邪恶的发生。你确实激活了合理的设置。