Correction des paramètres de cookies incorrects

Description : Vous avez des problèmes pour rester connecté sur votre forum ?

Catégories : Administration

Lien vers cet article: Tout sélectionner

[url=https://caforum.fr/forum/app.php/kb/viewarticle?a=2]Base de connaissance - Correction des paramètres de cookies incorrects[/url]

Avez-vous des problèmes pour rester connecté sur votre forum ?
Il est fort probable que vos paramètres de cookies soient incorrects et cet article vous aidera à les corriger.

Quels sont nos paramètres de cookies ?
Il existe plusieurs méthodes pour modifier vos paramètres de cookies. Mais bien sûr, avant de modifier les paramètres des cookies, nous devons d'abord savoir quels sont nos paramètres de cookies. Voici donc quelques exemples pour vous donner une idée de vos paramètres de cookies


► Les exemples

Exemple 1 :
Voici l'URL de votre forum : https://example.com/phpBB3

Vos paramètres de cookies doivent être :
  • Domaine du cookie : .example.com (notez le point au début !)
  • Nom du cookie : cookiename_example (Cela peut être tout ce que vous voulez, rendez-le original.)
  • Chemin du cookie : / (Notez qu'il s'agit toujours d'une barre oblique, peu importe l'URL de votre forum)
  • Cookie Secure : La plupart du temps, cela est désactivé (forum HTTP), mais lorsque votre forum utilise SSL (HTTPS), vous devez l'activer.

Exemple 2 :
Voici l'URL de votre forum : https://forum.example.com

Vos paramètres de cookies doivent être :
  • Domaine du cookie : forums.example.com (Notez qu'il n'y a pas de https:// ou de point au début et pas de barre oblique à la fin.)
  • Nom du cookie : cookiename_example (Cela peut être tout ce que vous voulez, rendez-le original.)
  • Chemin du cookie : / (Notez qu'il s'agit toujours d'une barre oblique, peu importe l'URL de votre forum)
  • Cookie Secure : La plupart du temps, cela est désactivé (forum HTTP), mais lorsque votre forum utilise SSL (HTTPS), vous devez l'activer.

Exemple 3 :
Voici l'URL de votre forum : https://example.co.uk

Vos paramètres de cookies doivent être :
  • Domaine de cookie : .example.co.uk (Oui, trois points dans ce scénario car le tld en a 2 et il doit y en avoir un avant)
  • Nom du cookie : cookiename_example (Cela peut être tout ce que vous voulez, rendez-le original.)
  • Chemin du cookie : / (Notez qu'il s'agit toujours d'une barre oblique, peu importe l'URL de votre forum)
  • Cookie Secure : La plupart du temps, cela est désactivé (forum HTTP), mais lorsque votre forum utilise SSL (HTTPS), vous devez l'activer.

J'espère donc que cela vous a aidé à déterminer quels devraient être vos paramètres de cookies.
Si vous avez le moindre doute sur les paramètres de vos cookies, n'hésitez pas en faire une demande sur le forum.



► Modifier les paramètres de cookies
Vous devez maintenant modifier les paramètres. C'est possible par plusieurs méthodes. Nous allons les expliquer ici.

1. Depuis le PCA
phpBB3 a la possibilité de modifier manuellement vos paramètres de cookies dans le panneau d'administration.

Rendez-vous ici : PCA > Onglet "Général" > Configuration du serveur > Paramètres des cookies
Remplissez ici les nouveaux paramètres de cookies selon votre configuration.


2. Via un dossier spécial
Il est également possible que lorsque vos paramètres de cookies soient incorrects, vous ne puissiez plus accéder à votre forum. Il existe donc une autre solution.
Un fichier spécial qui permet de mettre à jour vos paramètres de cookies.

Tout d'abord copiez le code suivant et donnez au fichier le nom cookie.php, téléchargez-le à la racine de votre forum là où se trouve le fichier config.php.

Code : Tout sélectionner

<?php
/**
*
* @package Cookie and server settings tool
* @copyright (c) 2008 ktuk.net
* @copyright (c) 2011 phpbb.com
* @license GPL
*
*/

// Standard definitions/includes
$page_title = 'phpBB3 Cookies';
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

$script_name = (isset($request) && ($request instanceof \phpbb\request\request_interface)) ? $request->server('SCRIPT_NAME', '') : $_SERVER['SCRIPT_NAME'];

$cookie_data = array();
$server_data = array();
$sent = request_var('sent', '');

// Gather cookie settings from config array
$cookie_data[] = $config['cookie_domain'];
$cookie_data[] = $config['cookie_name'];
$cookie_data[] = $config['cookie_path'];
$cookie_data[] = $config['cookie_secure'];

$server_data[] = $config['force_server_vars'];
$server_data[] = $config['script_path'];
$server_data[] = $config['server_name'];
$server_data[] = $config['server_port'];
$server_data[] = $config['server_protocol'];

$cookie_checked = ($cookie_data[3]) ? "checked = \"checked\"" : '';
$force_checked = ($server_data[0]) ? "checked = \"checked\"" : '';


if (!$sent)
{
   print "<html>
   <head><title>$page_title</title></head>
   <body>
   
   <form action=\"" . $script_name . "\" method=\"post\"
   <fieldset>
   <table>
      <tr><h2>Cookie Settings</h2></tr>
      <tr><td>Cookie Domain:</td><td><input type=\"text\" name=\"cookie_domain\" value=\"" . $cookie_data[0] . "\"></td></tr>
      <tr><td>Cookie Name:</td><td><input type=\"text\" name=\"cookie_name\" value=\"" . $cookie_data[1] . "\"></td></tr>
      <tr><td>Cookie Path:</td><td><input type=\"text\" name=\"cookie_path\" value=\"" . $cookie_data[2] . "\"></td></tr>
      <tr><td>Cookie Secure:</td><td><input type=\"checkbox\" name=\"cookie_secure\" value=\"1\" $cookie_checked ></td></tr>
   </table>

   <table>
      <tr><h2>Server Settings</h2></tr>
      <tr><td>Force Server Vars:</td><td><input type=\"checkbox\" name=\"force_server_vars\" value=\"1\"  $force_checked ></td></tr>
      <tr><td>Script Path:</td><td><input type=\"text\" name=\"script_path\" value=\"" . $server_data[1] . "\"></td></tr>
      <tr><td>Server Name:</td><td><input type=\"text\" name=\"server_name\" value=\"" . $server_data[2] . "\"></td></tr>
      <tr><td>Server Port:</td><td><input type=\"text\" name=\"server_port\" value=\"" . $server_data[3] . "\"></td></tr>
      <tr><td>Server Protocol:</td><td><input type=\"text\" name=\"server_protocol\" value=\"" . $server_data[4] . "\"></td></tr>
      <tr><td>Submit:</td><td><input type=\"submit\" name=\"sent\" value=\"submit\"></td></tr>
   </table>
   </fieldset>
   </body>
   <html>
   ";
}

if ($sent)
{
   $cookie_domain      = request_var('cookie_domain', '');
   $cookie_name      = request_var('cookie_name', '');
   $cookie_path      = request_var('cookie_path', '');
   $cookie_secure      = request_var('cookie_secure', 0);
   $force_server_vars   = request_var('force_server_vars', 0);
   $script_path      = request_var('script_path', '');
   $server_name      = request_var('server_name', '');
   $server_port      = request_var('server_port', 80);
   $server_protocol   = request_var('server_protocol', 'http://');

   $sql_ary = array(
       'cookie_domain'      => $cookie_domain,
       'cookie_name'      => $cookie_name,
       'cookie_path'      => $cookie_path,
       'cookie_secure'      => $cookie_secure,
       'force_server_vars'   => $force_server_vars,
       'script_path'      => $script_path,
       'server_name'      => $server_name,
       'server_port'      => $server_port,
       'server_protocol'   => $server_protocol
   );

   foreach ($sql_ary as $config_name => $config_value)
   {
      set_config($config_name, $config_value);
   }

   print "Settings are updated!";
   print "<meta http-equiv=\"refresh\" content=\"4;./cookie.php\">";
}

Accédez au script par son URL dans votre navigateur Web, par exemple https://www.example.com/forum/cookie.php
Le script chargera ensuite un formulaire indiquant votre serveur actuel et les détails du cookie que vous pouvez modifier.
Une fois que vous avez correctement modifié les paramètres, cliquez sur le bouton Soumettre.
Par la suite, n'oubliez pas de supprimer le script de votre serveur. Sinon, tout le monde peut modifier vos paramètres.


3. Depuis la base de données
Une autre possibilité consiste à utiliser la base de données pour exécuter quelques requêtes qui mettent à jour vos paramètres de cookies.
Accédez à phpMyAdmin et exécutez les requêtes suivantes :

Code : Tout sélectionner

UPDATE phpbb_config SET config_value = 'YOUR COOKIE DOMAIN HERE' WHERE config_name = 'cookie_domain';
UPDATE phpbb_config SET config_value = 'YOUR COOKIE NAME HERE' WHERE config_name = 'cookie_name';
UPDATE phpbb_config SET config_value = 'YOUR COOKIE PATH HERE' WHERE config_name = 'cookie_path';
UPDATE phpbb_config SET config_value = '0' WHERE config_name = 'cookie_secure';

Veuillez noter que vous devez remplacer les 3 premières lignes par vos paramètres et pour la dernière, vous ne modifiez le zéro que lorsque vous avez activé Cookie Secure, sinon vous ne ferez rien avec.
Notez également que lorsque votre préfixe de table n'est pas phpbb_, vous devez le modifier par votre préfixe de table de base de données, et n'oubliez pas de purger le cache en supprimant tous les fichiers du dossier ./cache sauf :
  • index.htm
  • .htaccess
.

J'espère donc que vos paramètres de cookies sont maintenant corrects et que vous pourrez profiter de l'option "Me connecter automatiquement à chaque visite" !

Traduit depuis phpbb.com
CAForum-phpBB  : Disclaimer