URL rewriting et forum phpBB

BDGest

WRInaute discret
Voici une solution, pour ceux qui utilise un forum phpBB, pour virer les ?sid=xxxxx (identifiant de sessions). Attention, cette modif fait qu'un utilisateur qui n'accepte pas les cookie ne pourra pas se connecter. mais l'ensemble du forum reste visible a tout le monde.

Dans le fichier /includes/sessions.php, touver la fonction

Code:
function append_sid($url, $non_html_amp = false)
{
	global $SID;

	if ( !empty($SID) && !eregi('sid=', $url) )
	{
		$url .= ( ( strpos($url, '?') != false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
	}

	return($url);
}

et commenter (de manière a pouvoir revenir facilement en arrière) une partie du code pour obtenir :

Code:
function append_sid($url, $non_html_amp = false)
{
	global $SID;

	//if ( !empty($SID) && !eregi('sid=', $url) )
	//{
	//	$url .= ( ( strpos($url, '?') != false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
	//}

	return($url);
}

?>


D'autre part, pour ceux qui ont des problème avec ce sid=xxxx qui se ballade au milieu d'une url (genre viextopic_5785?sid=xxxxxxx.html, cela se passe dans le fichier includes/functions.php.

Trouver la fonction generate_pagination. dans cette fonction, trouvez les lignes du genre (si vous avez mis en place l'url rewriting, vous devez avoir des chose dans ce style) :

Code:
$page_string .= ($i == $on_page) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "" . ( ( $i - 1 ) * $per_page ) . '.html">' )  . $i . '</a>';

le '.html' DOIT se trouver dans la fonction append_sid(...) et non après. Vous pouvez avoir ce problème a d'autres endroits, mais c'est tjrs le même principe : un '.html' qui se ballade après la fonction append_sid() et non dedans.

Bref, voila quelques pistes qui pourront vous aider.

?>
 
V

ViViFlash

Guest
il est extra - terreste le BDgest ?
lol
non je rigole, mais la, je plante, lol
ca doit venir de mon ordi :eek:)
je plaisante !!!!!!!!
encore que.................ptdrrrrrrrrrr
bisous a tous :eek:)
 

ferreol

Nouveau WRInaute
je propose cette alternative qui permet de continuer a utiliser les comptes administrateurs 8)
Code:
function append_sid($url, $non_html_amp = false)
{
	global $SID;
if ( $user_level = 1 ) {
	if ( !empty($SID) && !preg_match('#sid=#', $url) )
	{
		$url .= ( ( strpos($url, '?') != false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
	}
}
	return $url;
}
 

Allance

WRInaute discret
J'ai une petite question en passant :
WRI n'affiche pas de SID, pourtant on peut se connecter sans utiliser les cookies, et à ce moment là uniquement il affiche des SID.

C'est quoi l'astuce ? :roll:
 

mahefarivony

WRInaute accro
ferreol a dit:
je propose cette alternative qui permet de continuer a utiliser les comptes administrateurs 8)
Code:
function append_sid($url, $non_html_amp = false)
{
	global $SID;
if ( $user_level = 1 ) {
	if ( !empty($SID) && !preg_match('#sid=#', $url) )
	{
		$url .= ( ( strpos($url, '?') != false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
	}
}
	return $url;
}

j'ai essayé ca marche po :-(
:arrow: les SID s'affichent lorsque l'on est "invité"
:arrow: phpBB 2.0.4
 

Discussions similaires

Haut