2012-12-08 4 views
1

PhpMyAdmin définit le chemin du cookie sur le chemin PMA est installé.Changement PhpMyAdmin Cookie Chemin

  • Donc, si elle est installée dans /pma/ il établira le chemin de cookie /pma/.

Cependant, j'ai le code qui doit dconnecter accéder à la session pour pouvoir se connecter à l'utilisateur de PMA ainsi que d'autres sessions du système, mais il est situé dans /. Cela ne marche bien sûr pas car le navigateur ne permet pas d'accéder au cookie en dehors du chemin du cookie.

La définition du chemin de cookie par défaut dans php.ini ne fonctionne pas puisque PMA spécifie son propre chemin lors de la définition du cookie qui remplacera le paramètre php.ini.

Est-il possible de changer le chemin de cookie par défaut défini par PMA en / en définissant une option de configuration ou en étendant éventuellement une classe PMA? J'ai également lu à propos d'une chose appelée patch de singe en utilisant runkit, peut-il faire cela? Si c'est le cas, comment?

L'édition de fichiers core PMA n'est pas une option car je souhaite que la modification reste entre les mises à niveau. Si cela peut être codé dans config.inc.php, il restera entre les mises à jour.

Certaines choses que j'ai essayé par config.inc.php:

  • je crée mon propre cookie avec le même nom et sessionid, ne fonctionne pas comme cookie est écrasé par une PMA définit plus loin dans le traitement de PHP.
  • Modifier la valeur de $ _SERVER ['PHP_SELF'] qui est l'une des valeurs utilisées pour déterminer le chemin, ne fonctionne pas, je ne sais pas pourquoi.
  • J'ai essayé d'étendre la classe PMA_Config en particulier la méthode getCookiePath(), ne fonctionnait pas car je ne sais pas comment l'instancier afin de remplacer la méthode PMA_Config.
+0

Je considérerais 'runkit' un peu trop pour cela. Pourquoi ne vous contentez-vous pas de pirater l'endroit d'origine de la chaîne et donc de patcher l'application pour répondre à vos besoins si elle ne fournit pas l'option de configuration que vous recherchez? Ajoutez-le en tant qu'option de configuration et déposez une demande de fonctionnalité avec votre patch. – hakre

+0

En outre, il semble que vous recherchiez SingleSignOn qui est pris en charge par PMA. Regardez dans les docs quelles sont les options existantes: http: //wiki.phpmyadmin.net/pma/Auth_types – hakre

+0

whoa, ne pensait pas que les gens répondraient si tôt. Je suis déjà en train de mettre en place SSO déjà = o) –

Répondre

0

Je fini par utiliser Signon authtype pour PMA

Ma config PMA est alors devenu:

$cfg['Servers'][$i]['auth_type']  = 'signon'; 
$cfg['Servers'][$i]['SignonSession'] = 'YOUR_SESSION_ID'; // You can use ini_get('session_name') if you prefer 
$cfg['Servers'][$i]['SignonURL']  = 'FULL_URL'; // URL it will redirect unauthenticated users 
$cfg['Servers'][$i]['LogoutURL']  = 'FULL_URL'; // URL where user will be redirected after logout 

Dans mon script d'authentification unique, j'ai ajouté ces lignes lors de la connexion dans le reste du système il se connectera simultanément à PMA. Maintenant, je n'ai pas besoin d'accéder au cookie PMA car il utilise le cookie SID défini par le système principal. Pour se déconnecter du système principal et du PMA, je fais une déconnexion de cookie régulière:

$_SESSION = array(); 
setcookie(session_name(), '', time() - 3600); 
session_destroy(); 
Questions connexes