Accueil > Wordpress > WordPress: Vous n’avez pas les droits suffisants pour accéder à cette page

WordPress: Vous n’avez pas les droits suffisants pour accéder à cette page

En installant un nouveau blog sur WordPress 2.7.0, j’ai rencontré ce matin un problème lors de l’installation automatique à partir du fichier .zip de l’extension wp-db-backup.

Cela m’a surpris, car j’ai d’autres blogs en 2.7.0 avec wp-db-backup et tout fonctionne.

En creusant, j’ai trouvé que sur les sites qui fonctionnent, j’avais correctement personnalisé le fichier wp-config.php et mis des phrases secrètes uniques. Sur le blog qui ne fonctionnait plus, je n’avais pas fait cette personnalisation.

Quelques explications

Si vous installez par chargement direct du zip, cela va bloquer l’administration de WordPress. error_wbbk

Il semble que le « bug » provienne du fichier “/wp-content/languages/fr_FR.php”, ou plus exactement du manque de personnalisation du fichier wp-config.php, lié à ce fichier.

J’ai vu sur http://www.chacsam.be/ que Chacsam s’en était sorti en supprimant le fichier “/wp-content/languages/fr_FR.php”.

J’ai trouvé un moyen moins « violent », car en fait ce bug est dû à un manque de personnalisation, liée à la sécurité, du fichier wp-config.php.

Je m’explique : le fichier wp-config.php contient par défaut les paramètres suivants :

* Clefs uniques d’authentification.
*
* Remplacez les valeurs par défaut par des phrases uniques !
* Vous pouvez générer des phrases aléatoires en utilisant
* {@link http://api.wordpress.org/secret-key/1.1/ Le service de clefs secrètes de WordPress.org}.
*
* @since 2.6.0
*/
define(‘AUTH_KEY’, ‘mettez ici une phrase unique’);
define(‘SECURE_AUTH_KEY’, ‘mettez ici une phrase unique’);
define(‘LOGGED_IN_KEY’, ‘mettez ici une phrase unique’);
define(‘NONCE_KEY’, ‘mettez ici une phrase unique’);

Et le fichier “/wp-content/languages/fr_FR.php”  contient en fait une clé identique, d’où erreur d’initialisation.

<?php
$wp_default_secret_key = ‘mettez ici une phrase unique’;
?>

C’est bien un bug, mais pour le contourner simplement, j’ai simplement édité le fichier wp-config.php pour mettre proprement des phrases clés uniques, comme demandé.

La suppression pure et simple du fichier “/wp-content/languages/fr_FR.php”  à le même effet, mais je ne connais pas les conséquences possible de cette suppression, alors dans le doute, je préfère mettre des phrases uniques dans le fichier wp-config.php.

  1. 21/01/2009 à 15:51 | #1

    Très intéressant ! Je viens justement de rencontrer ce problème à cause de db-backup, alors que j’ai transféré en un clin d’oeil mon blog d’un serveur à autre grâce à ce plugin !

    Je vais essayer ta méthode, car db-backup est un indispensable pour moi.

  2. fanta78
    22/01/2009 à 09:57 | #2

    Il y a de grandes chances que ce soit le même problème. Tiens moi au courant !

  3. 21/03/2009 à 16:37 | #3

    Bonjour, dans votre article vous écrivez « j’ai simplement édité le fichier wp-config.php pour mettre proprement des phrases clés uniques, comme demandé. » Que voulez-vous dire par « édité », cela veut dire que vous avez copié le contenu de wp-config.php dans fr_FR.php ?
    Merci de votre réponse.
    Pierre

  4. fanta78
    21/03/2009 à 18:01 | #4

    @Pierre j’ai ouvert le fichier wp-config.php avec mon logiciel ftp préféré (Filezilla) puis j’ai modifié les lignes suivantes en remplaçant le texte par défaut « mettez ici une phrase unique » par un texte différent à chaque ligne. Une sauvegarde du fichier et le site est de nouveau en ligne ! Je n’ai donc ni effacé ni modifié le fichier fr_FR.php.

    define(’AUTH_KEY’, ‘mettez ici une phrase unique’);
    define(’SECURE_AUTH_KEY’, ‘mettez ici une phrase unique’);
    define(’LOGGED_IN_KEY’, ‘mettez ici une phrase unique’);
    define(’NONCE_KEY’, ‘mettez ici une phrase unique’);

  5. 22/03/2009 à 08:51 | #5

    Bonjour,
    Merci de votre réponse, je vais essayer et vous vous dirai comment cela c’est passé.
    Très cordialement.
    Pierre – http://www.horizon-du-vietnam.com

  6. 18/06/2009 à 21:15 | #6

    merci beaucoup pour cet article,j’ai rencontré cette fameuse erreur et j ai supprimé le fichier php comme indiqué ca refonctionne.

  7. 13/07/2009 à 20:43 | #7

    Bonjour

    merci pour la manip, j’étais bloqué avec ce plugin. j’ai rédigé mon compte rendu dans mon blog.

    Merci

    Olivier

  8. kiamaru
    15/07/2009 à 18:21 | #8

    Bonjour

    meme problème mais avec WordPress 2.8.1.

    je n’ai pas de fichier fr.php et j’ai édité le wp-config, mais cela ne change rien.

    une piste?

  9. 15/07/2009 à 18:42 | #9

    @kiamaru Vous avez installé WP 2.8.1 en version française ou anglaise ? Est-ce un problème qui apparait suite à une mise à jour d’une version précédente ou une installation neuve ?

  10. kiamaru
    15/07/2009 à 22:39 | #10

    version française, installation neuve.
    je peux accéder à mon admin sans problème.

    en fait le problème survient, quand j’essaie d’entrer dans les options de certains plugin comme easypaypal (gestion membre) ou custom_logo

  11. 16/07/2009 à 20:42 | #11

    Si WP est en français, il doit y avoir le fichier “/wp-content/languages/fr_FR.php”. Dans ce cas essaie de le supprimer (ou de le renommer) comme l’a fait Chacsam.

  12. kiamaru
    16/07/2009 à 20:48 | #12

    justement, télécharge ma nouvelle version de WP tu verras qu’il n’y a pas de fichier fr avec extension php. juste .po et .mo

  13. 16/07/2009 à 22:10 | #13

    Argh, tu as raison. Bon, il nous faut une autre piste…

    J’ai trouvé des discussions sur cette erreur avec WordPress 2.8.1, en anglais « You do not have sufficient permissions to access this page. » D’autres utilisateurs ont rencontré ton problème, sur de nombreux plug-in.

    L’origine du problème serait « Require all plugin page requests (?page=) to be for registered plugins pages « . En gros la façon dont certains plug-in gèrent les permissions n’est plus compatible avec les évolutions de la sécurité qui arrivent avec WordPress 2.8.1

    Le premier conseil semble donc de demander que l’auteur des plug-in fasse une mise à jour !

    Sources :
    http://wordpress.org/support/topic/289074
    http://wordpress.org/support/topic/288439

  14. 09/03/2010 à 12:25 | #14

    Bonjour,
    Merci pour les informations mais pour ma part les explications ne m’ont pas permis de résoudre le problème…cependant en poursuivant mes recherches j’ai trouvé la solution ici http://blog.alexnux.org/ !
    Il semble en effet que le pluggin ne changes pas certaines informations dans contenues dans les tables de wordpress. Ce qui pose génère le problème.
    Je conseil donc a tout le monde de vérifier avec phpmyadmin ou autres…
    françois

  15. 09/03/2010 à 16:28 | #15

    @françois merci de l’info. Par contre je ne trouve pas l’article correspondant sur le site de alexnux ?

  16. 01/04/2011 à 10:38 | #16

    Bonjour,

    Comment installer une nouvelle version de WordPress (3.1) sans avoir les problème de « Vous n’avez pas les droits suffisants pour accéder à cette page » ?

    Bah après bien des galères voici comment j’y suis arrivé sans rien perdre de mon travail de près de 10 ans sur le WEB :

    Sur votre disque local, créez un dossier « SAUVEGARDE de mon SITE »
    AVEC votre outils FTP préféré :
    • Allez sur le serveur où se trouve votre site puis, sauvegardez sur le disque local dans le dossier « SAUVEGARDE de mon SITE » tous les fichiers, dossiers et sous dossiers de votre site (Pour le cas où il faille revenir en arrière)
    Avec PHPMyAdmin :
    • Renommez toutes les tables de votre base en ajoutant par exemple OLD_ en préfixe de ces dernières.
    • Exportez la base en entier dans un sous-dossier de « SAUVEGARDE de mon SITE » nommé « sauvegarde_BDD_Mon_site »
    AVEC votre outils FTP préféré :
    • Retournez sur le serveurs de votre site et virez tous les fichiers, dossiers et sous dossiers
    • Installez les nouveau fichiers, dossiers et sours dossiers de la nouvelle versions de votre site.
    • Repalcez au même endroit les plugins,les extension, et les dossiers (et sous-dossiers) d’images et autres documents.
    Avec votre navigateur préféré :
    • Lancer l’installation de votre site nouvelle version.
    • De ce fait créez la base de données et ses tables avec les anciens noms de tables
    • Une fois le site installé laissez en l’état pour l’instant
    Avec PHPMyAdmin :
    • Faite les operations qui vont suivre pour toutes les tables sauf pour ces trois là : OLD_wp_usermeta ; OLD_wp_user ; OLD_wp_options
    • Sélectionnez une table puis cliquez sur Opérations
    • Dans la partie Copier la table vers (base.table) : écrivez dans le champs le nom de la nouvelle table correspondante
    • choisissez « structure et données »,
    • cochez toutes les options « Ajouter DROP TABLE » ; « Inclure la valeur courante de l’AUTO_INCREMENT » ; « Aller à la table copiée »
    • cliquez sur executer
    retournez sur votre site avec votre navigateur et entrez avec le loggin admin et son password.
    Normalement vous entrez sur votre console. Recréez les utilisateurs avec leur rôles et password si vous êtes pusieurs à utiliser votre site et voilà…
    Normalement tout baigne !

    Une chose encore : avec la version 3.1 de WordPress on a parfois un message d’erreur de ce type : “Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 1474560 bytes) in /wp-includes/class-simplepie.php on line 4852” ; Il vient d’un bug avec les fichier de langue française ! Allez dans le dossier wp-content/languages où vous trouverez 6 fichiers : continents-cities-fr_FR.mo ; continents-cities-fr_FR.po ; fr_FR.mo : fr_FR.po ; ms-fr_FR.mo ; ms-fr_FR.po

    Virez les (ou renommez les) et les choses rentrent dans l’ordre … Mais votre console d’admin est … en anglais (poisse ! Mais au moins ça marche !)

    Voilà j’espère que j’ai aidé un grand nombre d’entre vous…. Cordialement JG

  17. Guillaume
    21/07/2011 à 11:44 | #17

    Salut !
    J’ai la solution pour installer des plugin avec les nouvelle version de wordpress sans avoir

    « Vous n’avez pas les droits suffisants pour accéder à cette page »

    Dans le fichier wp-admin/plugins.php :

    remplacer require_once(‘./admin.php’);
    par :
    remplacer require_once(‘./admin.php2’);

    dans le dossier wp-admin, créer un fichier admin2.php et copier tout le fichier admin.php dedans.
    dans admin2 commentez les lignes

    if(!defined(‘WP_NETWORK_ADMIN’))
    define(‘WP_NETWORK_ADMIN’, FALSE);

    elle sont en haut du fichier.

  18. darknote
    01/09/2011 à 16:46 | #18

    moi j’ai toujours laissé WordPress créer le fichier wp-config.php pendant l’installation,jamais eu de problème,je fais comme sur la vidéo du site videonoob.fr

  19. 18/01/2012 à 19:14 | #19

    J’ai eu le meme probleme, apparemment c’est la table wp_options qui pose problème. du coup j’ai réinstallé, pour avoir une table wp_options correcte puis importé toutes les autres tables.
    malheureusement il a fallu reconfigurer les widgets qui sont perdus dans la tourmente.

  20. 31/07/2015 à 13:47 | #20

    Waou excellent article !

    après des heures à galérer et m’arracher les cheveux je tombe sur votre article clair et explicite,
    et là, mon blog s’affiche comme par magie.
    Un grand merci !

    Marielle

  1. Pas encore de trackbacks