WordPress Update auf 2.2.3 : Du hast nicht die nötigen Berechtigungen das zu tun
Donnerstag, 20. September 2007Schon in der Version 2.2.2 der WordPress Version ist der Fehler aufgetreten. Wenn man versucht hat Beiträge zu löschen oder eine neue Kategorie angelegt hat, kam die Fehlermeldung :
Du hast nicht die nötigen Berechtigungen das zu tun
Leider ist dieser Fehler auch noch in der neuen vor kurzem erschienen Version von WordPress enthalten in der Version 2.2.3 .
Um den Fehler zu beheben sind 5 Minuten Zeit zu investieren. Wir loggen uns auf dem Server ein oder laden uns die Datei runter auf den lokalen Rechner und bearbeiten diese. Beim runter laden der Datei per FTP auf die Kodierung aufpassen! Wenn Linux und Windows eingesetzt werden!
Wir brauchen die folgende Datei :
wp-includes/pluggable.php
Ab der Zeile 296 sollten die folgenden Zeilen zu finden sein:
$cookie = explode('; ', urldecode(empty($_POST['cookie']) ? $_GET['cookie'] : $_POST['cookie'])); // AJAX scripts must pass cookie=document.cookie
foreach ( $cookie as $tasty ) {
if ( false !== strpos($tasty, USER_COOKIE) )
$user = substr(strstr($tasty, '='), 1);
if ( false !== strpos($tasty, PASS_COOKIE) )
$pass = substr(strstr($tasty, '='), 1);
}
Diese kommentieren wir aus :
/*$cookie = explode('; ', urldecode(empty($_POST['cookie']) ? $_GET['cookie'] : $_POST['cookie'])); // AJAX scripts must pass cookie=document.cookie
foreach ( $cookie as $tasty ) {
if ( false !== strpos($tasty, USER_COOKIE) )
$user = substr(strstr($tasty, '='), 1);
if ( false !== strpos($tasty, PASS_COOKIE) )
$pass = substr(strstr($tasty, '='), 1);
}*/
Und fügen folgende Zeilen darunter ein:
$user = $_COOKIE[USER_COOKIE];
$pass = $_COOKIE[PASS_COOKIE];
Nachher sollte es so aussehen:
/*$cookie = explode('; ', urldecode(empty($_POST['cookie']) ? $_GET['cookie'] : $_POST['cookie'])); // AJAX scripts must pass cookie=document.cookie
foreach ( $cookie as $tasty ) {
if ( false !== strpos($tasty, USER_COOKIE) )
$user = substr(strstr($tasty, '='), 1);
if ( false !== strpos($tasty, PASS_COOKIE) )
$pass = substr(strstr($tasty, '='), 1);
}*/
$user = $_COOKIE[USER_COOKIE];
$pass = $_COOKIE[PASS_COOKIE];
Danach die Datei speichern und gegebenenfalls hochladen. Wenn ihr einen Testbeitrag erstellt habt, sollte dieser nun problemlos zu löschen sein.
