Защита CMS WordPress от перебора пароля

Thursday, 09 May 2013

Ближайшие несколько тем будут про защиту сайтов на базе CMS WordPress, хотя часть из них можно отнести и к другим системам управления контентом.
Начну с того что в середине апреля по инету прошла маcсированная брутфорс атака на сайты под управлением WordPress, в которой был задействован ботнет около 90к хостов. При это интенсивность атаки на популярные ресурсы, была зафиксирована на пике более 100к обращений в сутки, то есть порядка 1.5 запросов в секунду.

(more…)

VN:F [1.9.21_1169]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)

Глюк загрузки изображений в WordPress

Saturday, 30 Mar 2013

После переезда блога WordPress на новый хостинг, образовался довольно интересный глюк- не хотели грузиться изображения в Media библиотеку, причем ошибка была такова, что не система не может загрузить изображение по старому пути, то есть имевшемуся на старом хостинге.

(more…)

VN:F [1.9.21_1169]
Rating: 8.0/10 (1 vote cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)

Смена пароля админки WP через базу

Wednesday, 20 Mar 2013

Как то так стало получаться, что покупаю последнее время частенько сайты с аука, и уже не первый раз попадаю на историю когда продавец не помнит логин админа блога, так что все заканчивается фразой “ну поменяйте в базе”.

Понятно что это делается легко, но все таки в моем понимании это моветон. А для кого то и вполне себе проблема, так как люди частенько обращаются с какими то дикими проблемами, вроде того что сайт не открывается в Яндексе и Google, подразумевая что он просто не проиндексирован.

(more…)

VN:F [1.9.21_1169]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.21_1169]
Rating: +1 (from 1 vote)

Не отрабатывает плагин Exec-PHP

Thursday, 15 Nov 2012

Стал тут ставить на один из своих блогов, крутящихся под WordPress,  плагин Exec-PHP, дающий возможность стартовать произвольный пхп код не только из тела файлов шаблона, но и из постов, страниц и виджетов.

(more…)

VN:F [1.9.21_1169]
Rating: 10.0/10 (4 votes cast)
VN:F [1.9.21_1169]
Rating: +1 (from 1 vote)

Линкуем тэги на пост к которому они относятся

Sunday, 24 Jul 2011

В процессе некоторых терзаний вокруг MFA на WordPress передо мной встала задачка, как мне перенаправить тэги на посты к ним относящиеся. Надо отметить, что у меня теги были уникальными для каждого поста, поэтому в каждой метке находилось всего по одному посту. В этой связи я составил список соответствия постов и тэгов, после чего сделал рерайт на посты из тэгов, но в линке все равно отображался путь до тэга.

Да и как быть если например в тэге порядка 40 постов, а хочется чтобы тэги кроме своей основной задачи добавления ключиков, не транжирили вес страницы понапрасну. Для этого их можно залинковать на туже страницу к которой они и относятся. А делается это следующим образом: находим в теле вывода единичного поста тот раздел который отвечает за вывод тэгов  <?php the_tags( ); ?> и заменяем его на более модный формат рерайта тэгов на целевую страницу:

Метки: <?php $post_tags = get_the_tags(); $tag_permalink = get_permalink(); $split_comma = 0; if ($post_tags) { foreach($post_tags as $tag_single) { ?><?php if ($split_comma > 0) { echo “, “; } $split_comma++; ?><a href=”<?php echo $tag_permalink; ?>” title=”<?php echo $tag_single->name; ?>”><?php echo ucwords($tag_single->name); ?></a><?php } }  ?>

Этот же код можно вставить и в сайд бар, тогда у нас будет две вариации ссылок с меток на страницу, но тут мы упираемся в тот момент, что сайд бара будет выводиться и на морду в том числе, а это не желательно, ибо в таком варианте нашу фичу глючит и она начинает ссылаться на один из постов.

И тут нам приходит код, который позволяет нам выводить определенное содержимое по id страницы, но об этом я напишу несколько позже.

VN:F [1.9.21_1169]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)

Установка нескольких CMS на одну базу данных

Sunday, 03 Jul 2011

В очередное раз столкнулся с вопросом человека- как быть если прикупил себе нищебродский хостинг, позволяющий разместить 5 доменов, и всего одну базу mysql. Я конечно с трудом понимаю кто эти люди, которые приобретают подобные варианты, и главное где они их находят и по какой цене, учитывая что анлим с 4 IP стоит меньше 190 рублей в месяц.

Но как водится выход есть даже из самой жопской ситуации. То есть если вам необходимо завести пяток сайтов в одной базе, то это возможно сделать. Но надо учитывать несколько моментов:

в случае если ваши сайты будут разрастаться по объему, и обрастать поклонниками, которые будут генерить нагрузку на сайт, а в том числе и на базу данных, то тормозить будут все сайты одновременно, не взирая на нагрузку;
придется тратить много времени на оптимизацию своей базы данных, для того чтобы минимизировать нагрузку;
крах базы, вызванный одним сайтом, положит все остальные;
ну и напоследок- когда все таки найдутся деньги на переезд, вытягивать данные из базы данных, для того чтобы раскидать их по отдельным базам, займет не мало время

Если вы все же решили что оно того стоит, то создаем базу данных средствами хостинга, после чего закачиваем нужное количество копий wordpress на хостинг, подключаем домены и запускаем установку CMS WordPress, где для каждой установки указываем различные table_prefix: wp_ ; wp1_; wp2_ и т.п, которые после копируем в файл wp-config.php (в самом файле для копии wordpress эта строка будет выглядеть $table_prefix = ‘wp_’; )

Точно такое же действие подойдет и для других CMS:
в Drupal прописываем в файл sites/default/settings.php аргумент $db_prefix = ‘drupal1_’;
в Joomla в файле configuration.php указываем var $dbprefix = ‘joomla1_’;
После того как запустим установку CMS все необходимые таблицы, с указанными префиксами создадутся установочными скриптами.

VN:F [1.9.21_1169]
Rating: 7.9/10 (10 votes cast)
VN:F [1.9.21_1169]
Rating: +1 (from 5 votes)

Делаем безусловный редирект с определенной страницы сайта

Thursday, 16 Jun 2011

Довольно интересная встала задача- соориентировать человека относительно возможности редиректа с некоторой страницы в блоге WordPress на другую страницу или внешний сайт.

Первыми же в голову пришли три основных способа редиректа:
1. Создать вместо страницы php документик с таким же названием, или папочку, в которой положить index.php со  следующим содержимым:
<?php $url = $_GET['url']; header(“Location: forward-to.ru”); exit; ?>
2. в файле .htaccess прописать строку редиректа с определенного адреса:
Redirect /need-to-redirect.html  http://forward-to.ru/
3. добавить в хедер мета-тег перенаправляющий загрузку страницы:
<meta http-equiv=”refresh” content=”50; URL=http://forward-to.ru/”>

Но вспомнив о Javascript’е надыбал еще одну возможность через атрибут тега BODY onLoad, то есть добавляем в header следующие строки:
<SCRIPT LANGUAGE=”JavaScript”><!–
function redirect () { setTimeout(“go_now()”,1000); }
function go_now ()   { window.location.href = ” http://forward-to.ru/”; }
//–></SCRIPT>

где 1000 – это 1 секунда, после чего меняем стандартный <BODY> на:
<BODY onLoad=”redirect()”>

Но поскольку задача стояла сделать это все таки средствами поста, то следовательно тег надо выносить в тело документа, так что в html коде поста, вместо изменения BODY, прописываем:
<script type=”text/javascript” language=”javascript”> redirectPage();</script>
здесь я несколько запутался, так как по идее надо прописать
<script type=”text/javascript” language=”javascript”> onload=”redirectPage()”</script>

но проверять не стал, так как решив что надо было делать средствами WordPress обнаружил, что какой то умный разработчик для WP уже давно за нас всех подумал и специально разработал плагин для этой задачи, именуемый Quick Page/Post Redirect Plugin

VN:F [1.9.21_1169]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)