cookie、会话和安全性


cookies, sessions , and security

我想出了我自己的方法来保护我网站上的版主。首先,我知道黑客可能会劫持我的会话。所以我所做的就是给版主添加一个cookie,并设置我的算法来设置和取消这些cookie。

首先,我采取的预防措施是当主持人登录时:

        if('Moderator'==is_monitor($name))//function finds who is the user
        {
            ini_set('session.use_only_cookies',true);
            session_start();
            $password_hash = hash('sha256',$salt.hash('sha256', $pass));
            $_SESSION['mod_identify']=$password_hash;
            if(!isset($_Cookie['adderss']))
            {
              setCookie("adderss",$ip_address,time()+60*60*24*365*5,"/");
            }

然后我用这个重置每个页面上的会话:

if(!isset($_SESSION))
{
   start_session(); // all sessions should be reset with a new id
}

问题是为许多页面设置cookie是否对版主来说是一种负担?

你认为我的方式是足够安全的会话/cookie劫持?

No。如果你想防止会话劫持,使用HTTPS——它使用SSL。另外,不要在会话中存储某些用户帐户的密码,如果这就是$pass

或者,您可以使用像这样的会话包装器类。注意,这将而不是防止会话劫持,而只是加密存储在其中的数据。

另外,除非你已经创建了自己的自定义函数"start_session()",否则session_start()是你想要调用来启动会话的函数。

如果你想将用户重定向到HTTPS,你可以在你的。htaccess文件中使用apache的mod_rewrite,如下所示:

RewriteCond %{REQUEST_URI} =/admin
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI}

或类似的东西,这取决于您希望用户在哪里使用安全套接字层