Problème en rapport avec session.php

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


informatruc
WRInaute discret
WRInaute discret
 
Messages: 224
Inscription: 16 Jan 2004

Problème en rapport avec session.php

Message le Mar Juil 19, 2005 4:11

Bonjour,

j'ai un problème en rapport avec session.php puisque j'ai ce problème depuis que j'ai installé le code pour supprimer le SID mis à jour par l'auteur pour la version 2.015 lors de ma dernèire mise à jour de PHPbb, voici le code:

Code: Tout sélectionner
#################################################################
## MOD Title: Guest Sessions MOD
## MOD Version: 0.04
## MOD Author: CyberAlien <no@public_email> (Vjacheslav Trushkin) http://www.phpbbstyles.com
## MOD Description:
##      This mod removes session id for guests from url and this way
##      guests who don't have cookies like different robots will use
##      correct urls. It can be used to allow googlebot and other
##      search engines to spider your forum correctly.
##
## Installation Level:   Easy
## Installation Time:   1-2 Minutes
## Files To Edit (1): includes/sessions.php
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]---------------------------------------------
#
includes/sessions.php

#
#-----[ FIND ]---------------------------------------------
# around line 157
   $sql = "UPDATE " . SESSIONS_TABLE . "
      SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin
      WHERE session_id = '" . $session_id . "'
         AND session_ip = '$user_ip'";

#
#-----[ REPLACE WITH ]---------------------------------------
#
   $sql_ip = $user_id == ANONYMOUS ? " AND session_ip = '$user_ip'" : '';
   $sql = "UPDATE " . SESSIONS_TABLE . "
      SET session_ip = '$user_ip', session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin
      WHERE session_id = '" . $session_id . "' $sql_ip
         AND session_user_id = '$user_id'";

#
#-----[ FIND ]---------------------------------------------
# around line 210
   $SID = 'sid=' . $session_id;

#
#-----[ REPLACE WITH ]---------------------------------------
#
   $SID = $user_id > 0 ? 'sid=' . $session_id : '';

#
#-----[ FIND ]---------------------------------------------
# around line 288
            $SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '';

#
#-----[ REPLACE WITH ]---------------------------------------
#
            $SID = $userdata['user_id'] > 0 ? (($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '') : '';

#
#-----[ FIND ]---------------------------------------------
# around line 340
   //
   // If we reach here then no (valid) session exists. So we'll create a new one,
#
#-----[ BEFORE, ADD ]---------------------------------------
#
   elseif(empty($sessiondata))
   {
      // try to login guest
      $sql = "SELECT u.*, s.*
         FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u
         WHERE s.session_ip = '$user_ip'
            AND s.session_user_id = " . ANONYMOUS . "
            AND u.user_id = s.session_user_id
               LIMIT 0, 1";
      if ( !($result = $db->sql_query($sql)) )
      {
         message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);
      }

      $userdata = $db->sql_fetchrow($result);

      if ( isset($userdata['user_id']) )
      {
         if ( $current_time - $userdata['session_time'] > 60 )
         {
            $sql = "UPDATE " . SESSIONS_TABLE . "
               SET session_time = $current_time, session_start = $current_time, session_page = 0
               WHERE session_id = '" . $userdata['session_id'] . "'";
            if ( !$db->sql_query($sql) )
            {
               message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
            }
         }
         return $userdata;
      }
   }

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM


Le problème est que je tombe sur la page de connexion et que je suis obligé de taper mon login et mon mot de passe à chaque fois que je veux aller sur le panneau d'Admin.

De plus, en ce moment je ne suis pas capable de me déconnecter de mon forum en tant qu'Admin.

Quelqu'un voit un problème dans ce code?

Merci.


consoles-dimension
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 37
Inscription: 27 Fév 2005

Message le Mar Juil 19, 2005 8:57

Je n'ai pas la solution à ton problème, mais j'ai le même, donc si quelqu'un a la solution, ne nous oubliez pas :D


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité