Рабочая демо версия модуля редиректа браузера при нажатии “горячих” клавиш (HotKeyUrl Modules)

Здравствуйте, Друпалеры! Представляю Вам демо-версию (по моему мнению полностью работоспособную – надеюсь подскажите, где я не прав) модуля, который будет удобный для администраторов, хотя может использоваться и в публичной части.

Функционал: Редирект браузера при нажатии горячих клавиш – использование администраторами для перехода по админ меню.

Уровни доступа к модулю: Использование, Просмотр, Администрирование.

Похожий по функционалу модуль Keyboard shortcut utility.

Сравнение их в таблице:

Property KSU HKU This module allow you to create keyboard shortcuts that you can associate with… paths, addresses, javascript functions paths Available Meta Keys ALT, CTRL, SHIFT ALT, CTRL, SHIFT Key letter BACKSPACE, TAB, RETURN, ESC, PAGE UP, PAGE DOWN, END, HOME, F1-F12, A-Z BACKSPACE, TAB, RETURN, ESC, PAGE UP, PAGE DOWN, END, HOME, F1-F12, A-Z Own content type Keyboard Shortcut - Database use shortcut, node, node_access, node_type, etc (all used with table ‘node’) hotkeyurl Permissions administer, view administer, view, use Work with non-English keyboard layout no no Display admin page, block whith available shortcuts admin page Drupal core version 5.x, 6.x 6.x Use javascript yes yes Module’s Zip Archive 11.8 kb 6.9 Kb

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

Плюсы моего модуля с точки зрения работы – можно правами доступа запретить использование модуля анонимным пользователям, назначить использование конкретным ролям.

Сразу скажу, что когда пользуетесь этими модулями ДОЛЖНА БЫТЬ ВКЛЮЧЕНА АНГЛИЙСКАЯ РАСКЛАДКА КЛАВИАТУРЫ.

Это мой первый модуль – он был тестовым заданием приема на работу в одну IT контору.

Используете модуль на свой страх и риск, никаких гарантий и т.д.

На drupal.org я подал заявку на CVS доступ, описал и прикрепил модуль. Кто может сделать REVIEW прошу сюда.

Жду Ваших отзывов.

Спасибо за внимание!
Надеюсь модуль вам пригодится.

Прикрепленный файл Размер hotkeyurl_demo_v0.2.zip 6.93 кб

Attached poll “Пригодился ли Вам модуль?”.
Register or login to poll
Results:
да: 1 голос
нет: 1 голос

Источник: http://www.drupal.ru/node/50333

10 трюков с .htaccess для Drupal

Попались на глаза «10 отличных трюков с .htacces для Вордпресса», решил применить это к Друпалу.

Внимание!
Разумеется, я ничего не проверял. Перед изменением файла .htaccess не забудьте сделать его резервную копию. Я не отвечаю за работоспособность вашего сайта после исполнения этих трюков.

1 — Перенаправляем RSS поток Drupal на feedburner с использованием .htaccess

Почему некоторые вебмастера не используют feedburner? Ведь это такой замечательный инструмент для контроля за читателями RSS вашего сайта. Наверное проблема в том, что приходится руками исправлять файлы шаблонов, но этот трюк поможет сохранить Ваше время. Не забудьте исправить в строке 6 на Ваш код

<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC] RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC] RewriteRule ^feed/?([_0-9a-z-]+)?/?$ httр://feeds2.feedburner.com/vash_kod[R=302,NC,L] </IfModule> 2 — Удалить /node/ (или что-то другое) из пути в адресе Drupal

По умолчанию адреса материалов Drupal отображаются так: httр://www.drupal.ru/node/777
Но не все понимают что такое node и зачем оно в адресе. Это можно исправить с помощью .htaccess

<?phpRewriteRule ^node/(.+)$ httр://www.drupal.ru/$1 [R=301,L]?>

Теперь адреса будут выглядеть так: httр://www.drupal.ru/777

П р и м е ч а н и е. Разумеется, Друпалу это не надо – он имеет развитую систему создания адресов с помощью модуля Path, мощь которого многократно увеличивается путем установки модуля PathAuto.

3 — Оптимизация за счет использование кэша браузера

Очень хороший путь оптимизации сайта — это использование кэша браузера. Этот код улучшает кэширование браузером статических файлов. При повторном запросе к файлу, который не изменился клиент получит HTTP-заголовок 304 (Not Modified), а не содержимое файла.

FileETag MTime Size <ifmodule mod_expires.c> <filesmatch "\.(jpg|gif|png|css|js)$"> ExpiresActive on ExpiresDefault "access plus 1 year" </filesmatch> </ifmodule> 4 — Сжатие статических данных

Этот код уменьшит объём данных передаваемых между сервером и пользователем за счет их сжатия.

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html 5 — Перенаправление с одного URL на другой

Это делается отдачей http-заголовка 301 (Moved Permanently, перемещен навсегда). Например, если вам требуется перенаправить пользователя с адреса httр://www.drupal.ru/2009/03/25/name-of-the-post на httр://www.drupal.ru/name-of-the-post, это можно сделать как-то так:

RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ httр://www.domain.com/$4

Еще в Друпале можно использовать модули PathAuto и GlobalRedirect

6 — Антиспам: запретить комментирование если отсутствует referrer

Метод построен на том, что многие спам-боты не передают referer (заголовок http-запроса, содержащий адрес страницы, откуда производится переход) когда отправляют спам. Этот код проверяет referrer и блокирует отправку комментария если отсутствует referer при обращении к пути /comment/reply/. Не забудьте в строке 4 вписать домен своего сайта.

RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} !^.*/comment/reply/* RewriteCond %{HTTP_REFERER} !.*drupal.ru.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L] 7 — Перенаправить пользователя на страницу-заглушку

При обслуживании сайта желательно показать посетителям временную страницу-заглушку. Замените в строке 2 maintenance.html на название вашего файла. В строке 3 впишите свой IP, чтобы вас не перекидывало на эту заглушку. 302-редирект используется чтобы поисковые системы не проиндексировали содержимое временной страницы.

RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123 RewriteRule $ /maintenance.html [R=302,L]

Разумеется, можно делать тоже самое из админки Drupal (admin/settings/site-maintenance)

8 — Защита сайта от «хотлинков»

Хотлинк — это использование файлов, размещенных на вашем сайте на страницах других сайтов с целью сэкономить свой серверный трафик. Тема у нас уже обсуждалась, повторим. Суть аналогична таковой из трюка 6: левый реферрер – пошел вон.

RewriteEngine On #Замените ?drupal\.ru/ адресом своего сайта RewriteCond %{HTTP_REFERER} !^http://(.+\.)?drupal\.ru/ [NC] RewriteCond %{HTTP_REFERER} !^$ #Замените /images/nohotlink.jpg путем к своей картинке, где нарисована волосатая негритянская задница RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L] 9 — Разрешить доступ к admin-ке только с вашего IP

Дополнительной защитой сайта от взлома может служить ограничение списка адресов, с которых разрешено заходить в админку. Не забудьте вставить свой IP в строке 2.

RewriteCond %{REQUEST_URI} ^/admin/ RewriteCond %{REMOTE_ADDR} !123.123.123.123 RewriteRule .* - [F] 10 — Блокирование IP спамеров

Часто спам-боты ходят с одних и техже IP. Трюк поможет блокировать доступ с этих адресов. Внесите адрес спамера в строке 3. Можно расширить список заблокированных адресов добавив строки deny from xxx.xx.xxx.xxx.

<Limit GET POST> order allow,deny deny from 200.49.176.139 allow from all </Limit>

Обновление Исправлен код в 9 трюке – теперь можно реально запретить доступ к админке с левых ip-адресов.

Источник: http://www.drupal.ru/node/26767

© 2009 Обзор CMS