29
декабря
2007

Заплатка для WordPress 2.3.1

Недавно в коде WordPress 2.3.1 была обнаружена ошибка, в результате которой кто угодно мог прочитать черновики неопубликованных записей. Происходило это в результате того, что при вводе определенных URL, WordPress начинал считать пользователя администратором. Баг будет исправлен в новом релизе, но, пока официальный фикс не вышел, можно все починить самостоятельно.

Для этого открываем файл wp-includes/query.php и переходим на строку 37:

function is_admin () {
    global $wp_query;

<strong>return ($wp_query->is_admin || 
    (stripos($_SERVER['REQUEST_URI'], 
    'wp-admin/') !== false));</strong>

}

Меняем ’wp-admin/’ на более конкретную строку для уточнения URL. Например, 'url_сайта/wp-admin/’. Должно получиться примерно так:

function is_admin () {
    global $wp_query;

return ($wp_query->is_admin ||
    (stripos($_SERVER['REQUEST_URI'], 
    '<strong style="background:#ffdddd;">cybernetnews.com/</strong>wp-admin/') !== false));

}

Это quick & dirty решение, которое позволит спать спокойно до апгрейда на версию 2.3.2.

Via cybernetnews.com.

Update: Вышел официальный фикс 2.3.2.

Комментарии к заметке «Заплатка для WordPress 2.3.1»

# Strorin: (29 декабря, 2007 @ 15:57)

Большое спасибо :)

# admin: (29 декабря, 2007 @ 16:09)

Strorin: You are welcome. Кстати, понравился ваш сайт.

# Mr. Pablo: (29 декабря, 2007 @ 20:30)

Детские ошибки какие-то прям…

# Strorin: (30 декабря, 2007 @ 13:23)

Вышло официальное обновление.

# admin: (30 декабря, 2007 @ 20:13)

Strorin: Спасибо, уже поставил.

# admin: (20 января, 2010 @ 11:31)

Strorin: You are welcome. Кстати, понравился ваш сайт.

Написать комментарий

Можно использовать следующие HTML теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> .