Как вставить кнопку ВКонтакте

Код в поле разделен на две части, первую часть необходимо вставить внутри тегов head:

Читать далее «Как вставить кнопку ВКонтакте»

Проверка WMID (PHP)

Проверка WMID реализованная на языке веб-программирования PHP.
Автор: © Сергей eLRiz Козлов
Исходный код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>Проверка WMID</title>

</head>

<body>

<?php

    if( isset( $_GET['wmid'] ) AND is_numeric( $_GET['wmid'] ) == TRUE AND strlen( $_GET['wmid'] ) == 12 )

    {

        $url = iconv( 'windows-1251', 'UTF-8', file_get_contents( 'http://passport.webmoney.ru/asp/certcard.asp?id='. $_GET['wmid'] ) );

        preg_match_all( "|</[^>]+>(.*)<[^>]+>|U", $url, $out, PREG_PATTERN_ORDER );

        if( isset( $out[0][4] ) )

            echo 'WMID#: '. $_GET['wmid'] .'<br />'.

                  strip_tags( $out[0][4] ) .'<br />

                  Бизнес-уровень: '. strip_tags( $out[0][8] ) .'<br />

                  Претензий: '. strip_tags( $out[0][10] ) .'<br />

                  <form action="http://arbitrage.webmoney.ru/asp/newclaims.asp" method="get">

                    <input type="submit" value="Оставить отзыв или претензию" />

                    <input type="hidden" name="procwmid" value="'. $_GET['wmid'] .'" />

                  </form>';

        else

            echo '<font color="#FF0000"><b>Ошибка! Такой WM-идентификатор незарегистрирован</b></font><br />';

        echo '<a href="wmid.php">Назад</a>';

    }

    else

        echo '<form action="wmid.php" method="get">

                WMID#: <br />

                <input type="text" name="wmid" maxlength="12" /><br />

                <input type="submit" value="Найти" /><br />

            </form>';

?>

</body>

</html>

Запуск shell сценария из php

Функция shell_exec позволяет выполнять команды на сервере.
В конфиге php.ini может стоять запрет на ее выполнение. Также стоит быть аккуратным в написании php кода с ее использованием, дабы не предоставить злоумышленникам доступ к выполнению команд на сервере.

Приведу краткий пример php кода:

<?php
$result = shell_exec('uptime');
echo "<pre>$result</pre>";
?>

Теги pre позволят сохранить форматирование текста.

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

chmod a+x file.sh

Аналогичный php код:

<?php
$result = shell_exec('/dir/file.sh');
echo $result;
?>

robots.txt для WordPress

robots.txt позволяет указать роботам поисковых систем какие директории и записи необходимо индексировать, а какие нет. Что позволит избежать дублирования записей и позитивно сказаться на индексации.

Пример robots.txt:

User-agent: *
Disallow: /wp-admin/
Disallow: /xmlrpc.php

Host: ixnfo.com
Sitemap: http://ixnfo.com/sitemap.xml.gz
Sitemap: http://ixnfo.com/sitemap.xml

Если используется HTTPS, то в конце укажем его вместо HTTP:

Host: https://ixnfo.com
Sitemap: https://ixnfo.com/sitemap.xml.gz
Sitemap: https://ixnfo.com/sitemap.xml

Host: — позволяет указать приоритетный домен который будет использоваться в индексации, так как при существовании алиасов например www.domain.com в индексации поисковиков могут появится ссылки типа www.domain.com/link.html и domain.com/link.html, то есть дублирование, что может повлечь за собой исключение из индексации обеих ссылок.

Google XML Sitemaps — один из плагинов для построения карты сайта.
Cyr-To-Lat — один из плагинов позволяющий конвертировать в ЧПУ ссылках кириллические символы на латинские.

Пинг сервисы WordPress

Пинг сервисы необходимы для ускорения индексации статей в поисковых системах.

Добавлять и удалять их можно в админ панели открыв «Параметры» — «Написание» — «Сервисы обновления».
Их существует достаточно много, поэтому желательно выбрать наиболее нужные. Чем больше их прописано, тем больше времени уйдет на их оповещение при добавлении статьи.
Вот небольшой список собранный в интернете:

http://rpc.pingomatic.com
https://rpc.twingly.com
http://ping.feedburner.com
http://rpc.weblogs.com/RPC2
http://www.pingmyblog.com
http://blogsearch.google.com/ping/RPC2
http://ping.blogs.yandex.ru/RPC2
http://xping.pubsub.com/ping

и т.д…

Настройка HTTPS в Apache

Приведу пример настройка HTTPS в Apache с использованием самоподписанного ключа.

Создадим ключ и сертификат:

openssl req -new -x509 -days 365 -keyout server.key -out server.pem

На вопрос «Enter PEM pass phrase:» вводим пароль и запоминаем его. На остальные вопросы можно просто нажимать Enter соглашаясь с предложенными вариантами, только на вопрос «Common Name (e.g. server FQDN or YOUR name):» вводим имя сайта, для которого создается сертификат, например www.example.com.
После ответов на вопросы в директории появятся два файла server.pem и server.crt (ключ и сертификат).
Apache при загрузке будет спрашивать пароль от ключа ранее нами введенный, поэтому снимаем пароль с ключа:

cp server.key{,.orig}
openssl rsa -in server.key.orig -out server.key
rm server.key.orig

Скопируем файлы в директорию /etc/ssl и выставим файлу ключа права чтения только для администратора:

sudo cp server.pem /etc/ssl/certs/
sudo cp server.key /etc/ssl/private/
sudo chmod 0600 /etc/ssl/private/server.key

Активируем ssl модуль apache2:

sudo a2enmod ssl

Включаем настройки default-ssl:

sudo a2ensite default-ssl

Отредактируем файл настроек /etc/apache2/sites-enabled/default-ssl.conf:
После директивы SSLEngine on добавим строку SSLProtocol all -SSLv2 запретив использование устаревшего протокола SSLv2.
Изменим пути к фалам:

SSLCertificateFile  /etc/ssl/certs/server.pem
SSLCertificateKeyFile /etc/ssl/private/server.key

Перезапустим Apache2 чтобы изменения вступили в силу:

sudo service apache2 restart

Протокол HTTPS работает по 443 порту, если используется фаервол, то необходимо открыть этот порт.

Если нужно использовать только HTTPS и запретить HTTP, то активируем mod_rewrite:

sudo a2enmod rewrite

И отредактируем файл /etc/apache2/sites-enabled/000-default.conf:

<VirtualHost *:80>
        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

Снова перезапустим Apache2 чтобы изменения вступили в силу:

sudo service apache2 restart

Теперь например при открытии адреса http://www.example.com, сервер автоматически будет переадресовывать на https://www.example.com.

Как установить подписанный сертификат смотрите в моей статье:
Установка Certbot в Ubuntu

Настройка ЧПУ ссылок в WordPress

В первую очередь необходимо активировать модуль Apache — mod_rewrite. В операционной системе Linux Ubuntu/Debian это можно сделать командой:

sudo a2enmod rewrite

Второе, прописать AllowOverride All в конфиграционном файле сайта Apache2, которые находятся по адресу /etc/apache2/sites-enabled/, чтобы веб сервер читал параметры из файлов .htaccess.

Третее, изменить тип постоянных ссылок через админку в параметрах WordPress. Выбираем «Параметры» — «Постоянные ссылки» и выбираем например название записи или произвольно указываем шаблон ссылки.

Пример:

/%category%/%postname%.html
/%postname%.html  (оптимальный вариант)
/%post_id%
/%category%
и т.д.

В итоге WordPress создаст в корневой директории файл .htaccess и получится ссылка типа http://exmple.net/имя_поста.html естественно если имя поста на русском, то и в ссылке будут русские символы. Можно также установить какой-нибудь плагин конвертирующий русские символы в латинские, например Rus-To-Lat, чтобы ссылка была вида http://example.net/imya-posta.html.

Перезапустим apache2 чтобы изменения вступили в силу:

sudo service apache2 restart

Смотрите также: Решение ошибки «Not Found» при включении ЧПУ ссылок WordPress

Установка и настройка libapache2-mod-evasive

Модуль libapache2-mod-evasive может помочь защитится веб-серверу Apache от от атак медленного чтения, а так же некоторых других направленных атак.

Установка в Linux Ubuntu/Debian:

sudo apt-get install libapache2-mod-evasive

Откроем стандартный или создадим файл конфигурации:

sudo nano /etc/apache2/mods-available/evasive.conf

Пример содержимого:

<IfModule mod_evasive20.c>
#Размер таблицы адресов
DOSHashTableSize 4096
#Количество одновременно открытых одинаковых страниц сайта для каждого хоста в интервал времени
DOSPageCount 5
#Количество открытых страниц сайта для каждого хоста в интервал времени
DOSSiteCount 50
#Интервал времени для DOSPageCount в секундах
DOSPageInterval 1
#Интервал времени для DOSSiteCount в секундах
DOSSiteInterval 1
#Период блокировки хоста в секундах
DOSBlockingPeriod 10
#Файл логов
DOSLogDir /var/log/mod_evasive.log
#Email для уведомлений о блокировке
DOSEmailNotify test@example.com
#Можно выполнить команду
#DOSSystemCommand    "su - someuser -c '/sbin/... %s ...'"
#Список адресов для которых не будут работать ограничения
DOSWhitelist 127.0.0.1
DOSWhitelist 192.168.1.1
</IfModule>

Активируем модуль:

sudo a2enmod mod-evasive

Перезагружаем apache:

/etc/init.d/apache2 restart

Проверяем (должно отобразится evasive20_module (shared)):

sudo apachectl -t -D DUMP_MODULES|grep evasive

Выполняем стандартный скрипт для проверки:

perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl

Как убрать в wordpress rss ленте повторяющийся title

В директории /wp-includes/ находим файлы feed-atom.php, feed-rdf.php, feed-rss.php, feed-rss2.php и ищем в них строку:

<title type="text"><?php bloginfo_rss('name'); wp_title_rss();?></title>

убираем из нее

bloginfo_rss('name');

либо

wp_title_rss();

Готово.

Смотрите также:
Устранение повторяющихся заголовков на страницах WordPress

Ссылки на каталоги с расширениями и шаблонами для CMS Joomla

Joomla (джумла) — система управления содержимым (CMS), написанная на языках PHP и JavaScript использующая MySQL.

Официальный сайт: www.joomla.org
Каталог расширений на официальном сайте: extensions.joomla.org
Русский портал Joomla: joomlaportal.ru
Форум поддержки Joomla на русском: joomla-support.ru

Шаблоны для Joomla с возможность demo просмотра:
design4free.org
www.1joomla.ru
www.joomla24.com
templatki.com
joomla-temp.ru
joomla-master.org
joomfans.com
joomdom.com
joomlafan.org
template-joomla.ru
shablony-joomla.com

Расширения Joomla:
ru.2glux.com/projects
www.nonumber.nl