tushov.ru

блог php-программиста, преподавателя и конcультанта

Archive

Page 3/7

Joomla

ProCaptcha — Joomla-плагин защиты от автоматических регистраций на сайте

ProCaptcha — реализует простую защиту от автоматических регистраций на основе механизма CAPTCHA. В плагине используется код проекта KCAPTCHA.

После установки плагина и его включения, вам необходимо обязательно отредактировать стандартный шаблон регистрационной формы Joomla — файл \templates\beez\html\com_user\register\default.php или если же такого не существует в папке вашего шаблона, то скопируйте файл \components\com_user\views\register\tmpl\default.php по пути \templates\ваш_шаблон\html\com_user\register\default.php и отредактируйте его, внеся следующие изменения:

в любом нужном вам месте шаблона естественно в пределах формы т.е. внутри тегов <form> … </form> регистрационной формы вставьте специальное слово:

{PROCAPTCHA}

которое, при включеном плагине, будет заменено на соответствующий код CAPTCH’и.

Шаблон отображения этого кода вы можете отредактировать прямо в настройках плагина ProCaptcha.

Скачать плагин ProCaptcha

ВНИМАНИЕ! При использовании каких-либо компонент, плагинов, модулей отчасти или полностью заменяющих или обходящих стандартный  механизм регистрации пользователей в Joomla, который реализован в компоненте com_user — плагин ProCaptcha может оказаться бесполезным.

Joomla

Разработка бесплатного JSEOPlugin 3. Сбор советов и пожеланий…

Ведется разработка новой версии, уже известного многим бесплатного плагина JSEOPlugin для SEO-оптимизации CMS Joomla. Я решил полностью переписать старый функционал JSEOPlugin, добавив при этом новые возможности.

Анонс новшеств будущего  JSEOPlugin 3:

  • Улучшенный механизм обработки шаблона заголовка страниц
  • Возможность отключать изменение заголовка для Главной страницы
  • Оптимизация функционала генерации keywords (новый более быстрый алгоритм, возможность задания списка стоп-слов)
  • Изменения механизма генерации алиасов (псевдонимов) для объектов, теперь наряду с транслитерацией появится механизм перевода русских слов на английский язык через Google-Translate
  • Оптимизация алгоритма экранирования внешних ссылок на сайте (+ появление дополнительных опций настройки этого процесса)
  • Возможность задания дополнительных пользовательских атрибутов всем внешним (экранируемым) ссылкам на сайте
  • Устранение проблемы обработки ссылок содержащих имя поддомена
  • Более гибкие возможности задания вида ссылок на редиректы
  • Опциональная возможность задания промежуточной страницы редиректа внешних ссылок

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

И теперь самое главное, напишите что считаете нужным по любому из пунктов и Мы вместе сделаем JSEOPlugin 3 более удобным и функциональным:

  1. Что вас не устраивало в JSEOPlugin 2.x?
  2. Что вам не хватало в JSEOPlugin 2.x? Что порекомендуете добавить?
  3. Каких SEO-примочек на Ваш взгляд не хватает в Joomla 1.5.x?

Joomla

Плагин AccessMat — ограничение доступа к материалам (статьям) в Joomla

Писал для одного проекта решил поделится этим простым плагином.

Перед использованием плагина AccessMat, Вам нужно открыть файл \administrator\components\com_content\models\article.xml

и добавить сразу после строчки

новый параметр:

После этого активируйте плагин.
На странице редактирования материала справа в Параметры — Расширенные будет доступна новая опция:  Доступ группы пользователей к материалу. Выберите  группу пользователей которая будет иметь доступ к Вашему материалу и сохраните изменения.

При попытке получить доступ к материалу(статье) пользователя который не состоит в группе назначенной материалу или же его группа не является старшей по отношению к выбранной — пользователь перенаправляется на Главную страницу сайта. Вы можете указать в настройках плагина URL-адрес страницы на которую пользователь будет перенаправлен в случае если у него нет прав на просмотр данного материла.

Скачать плагин  AccessMat

Joomla

JCBuilder — для тех кто пишет компоненты Joomla

JCBuilder (Joomla Component Builder) — позволяет собрать любой доступный компонент в инсталляционный пакет Joomla. Описывать настройки я думаю смысла нет, любой программист пишущий компоненты для Joomla поймет назначение каждого параметра. Компонент помнит настройки сборки пакетов для каждогого компонента, т.е. к примеру если вы решите пересобрать com_content и выставите свои настройки а потом нажмете кнопку Сохранить, то JCBuilder запомнит их и при следующем выборе com_content загрузит ваши настройки.  JCBuilder генерирует установочный пакет в двух видах, просто папка с файлами внутри и непосредственно архив, готовый к установке через Joomla. И то и другое после генерации будет лежать в папке tmp.

Скачать JCBuilder

Небольшая особенность данного компонента: при сборке пакетов на сервере работающем на основе Windows OC — файловые пути содержат обратный наклонный слэш, вместо стандартного Unix’ового. Так что если будете собирать на Windows машине не забудьте поменять (заменить) слеши в файле XML Install вашего компонента на обратные — чтобы не было проблем при установке полученного пакета на Unix-совместимые конфигурации.

Joomla

Проблема «невидимых» пользователей в Joomla 1.5.x

Сегодня столкнулся с проблемой «невидимых» пользователей в Joomla 1.5. Проблема проявилась когда очередной пользователей на одном из моих проектов написал о том что он не может войти на сайт под своим аккаунтом. Зайди в панель администрирования, и проведя поиск по емайлу (логину) обратившегося — я не нашел соответствующего аккаунта. Покопавшись в почте — увидел уведомление что такой пользователь регистрировался на моём сайте. Стало интересно еще больше :). Ну подумал я — все дело наверное в бэкапах, может очередной раз обновляя я перепутал бэкапы БД, но не тут то было когда я обнаружил запись аккаунта  в таблице jos_users. В тоже время в соотвествующих данному юзеру записей в таблицах jos_core_acl_aro и jos_core_acl_groups_aro_map не было.

Вылечилось все двумя SQL-запросами:

однако теперь вот думаю я, что это было? как такое могло произойти, что в jos_users соотвествующая запись добавилась а в эти таблицы нет.. Странно.. сбой на сервере? не все SQL-запросы прошли?  Но таких пользователей я насчитал уже 6 штук.. буду искать причины…

PHP, Заметки программиста, Найдено в Интернете

Переводим большой html-текст через Google Translate на PHP

Недавно в одном проекте потребовалось реализовать функционал перевода html-текста на разные языки. Сразу же на ум пришёл машинный перевод при помощи translate.google.ru. Все бы ничего если бы не два НО, которые встали на пути:

  1. Google Translate не позволяет переводить за раз текст размером более 5000 символов
  2. Google Translate переводит вместе с текстом и HTML-теги
  3. Если резать текст на кусочки размером до 5 000 символов, то незакрытые HTML-теги в кусках Google Translate удалит

Немного поковырявшись во всем этом удалось получить более менее рабочее решение, а именно 2-е функции: translate — собственно функция перевода (найдено в Интернете), googleTranslate — функция корректной обрезки больших текстов на кусочки по 5 000 с учетом не проблемы не закрытых тегов.

Итак, если еще кому-то пригодится, собственно сам код:

 

Joomla

Обновление бесплатного модуля для вывода SAPE-ссылок в Joomla

Модуль Saperu Module вывода ссылок системы SAPE обновился до версии 1.2

Список изменений:

  1. По умолчанию выставлена UTF-8 кодировка вывода SAPE-ссылок
  2. Добавлена опция «Включить экранирование ссылок тегом noextlinks«, позволяющая отключить экранирование внешних ссылок на сайте плагином JSEOPlugin. Данная опция по умолчанию будет всегда включена, чтобы Ваши SAPE-ссылки не попадали сразу же под экранирование плагина JSEOPlugin. Теперь нет необходимости писать теги noextlinks перед выводом SAPE-ссылок модулем.
  3. Добавлен параметр Шаблон отображения SAPE-ссылок, позволяющий более гибко настроить отображение блока SAPE-ссылок в модуле. Важно понимать что этот параметр содержит шаблон отображения именно всего блока вывода ссылок в модуле, а не ссылок по отдельности.

Скачать обновленный Joomla-модуль Saperu Module 1.2

Joomla, Заметки программиста

Обновленный плагин StartPage

В плагине StartPage (http://tushov.ru/post/558) обнаружена ошибка определения Главной страницы сайта в результате чего у многих людей, у которых вместо стандартного вывода com_frontpage на Главной странице сайта было что-то другое плагин не работал. Вся проблема состояла в неправильном определении главной страницы. Ошибка исправлена, теперь я надеюсь многие оценят полезность плагина, работающего без ошибок =)

И еще, вот как не надо определять признак главной страницы:

правильный способ:

Скачать обновленный плагин  StartPage 1.1

Joomla

RegEmail — авторизация в Joomla через E-mail адрес…

Не для кого не секрет, что «логинизация» на всех популярных сайтах уже давно перестала использоваться Логин как уникальное имя для входа. Намного проще использовать в качестве Логина — тот же Email-адрес пользователя, который уж он то, пользователь, точно запомнит!

Есть такой плагин JFooBar Email-Login для Joomla позволяющий зарегистрированным пользователям Joomla совершать вход на сайт с помощью Email-адреса и пароля. Единственная проблема не решаемая плагином — это то, что пользователю на регистрационной форме все равно придется вводить Логин, хоть и авторизоваться на сайте он в последующем будет через E-mail.

Предлагаю свою небольшую альтернативу — мой простой плагин RegEmail. Совсем маленький плагин, делающий банальные вещи: он заменяет значения поля username (login) на  E-mail с формы регистрации. Таким образом, Вы можете отредактировать стандартную, ну или вашу шаблонную форму регистрации Joomla, убрав из нее вообще поле для ввода логина, регистрация будет осуществляться через E-mail. Процедура входа на сайт соответственно тоже будет требовать от пользователя ввести его E-mail и пароль.

Скачать плагин  RegEmail

PHP

Ручной антивирусник на PHP =)

Многие наверное слышали про повальное заражение сайтов своеобразным вирусом.  Смысл вируса простой — в каждый index.php (index.html) файл на сервер, где лежит сайт вставляется вредоносный JavaScript-код http://addonrock.ru/Raw_Data.js Код вставляется иногда очень тупо, вызывает error’ы или если у вас display_errors = off то превращает сайты в белые простынки :). Основная заявленная в Интернете причина уязвимости состоит не в уязвимости сервера и не в дырке в CMS, которую вы используете, а именно  в присутствии трояна на вашем компьютере с которого вы осуществляете доступ по FTP к серверу где лежит ваш сайт. Троян похищает пароли к FTP, ну а далее просто патчит JS-вставками все index.* файлы на сервере.

Лечится все это просто, удаляются эти самые JS-вставки кода и все дела. Вот только если файлов на сервере несколько тысяч как например в Joomla и вы вносили исправления и не имеете актуальной зеркальной копии сайта — проблема становится более ощутимой.

Предлагаю свое решение, которым я пользовался для устранение в отдельных случаях вредоносного кода из index.* файлов на сервере. Просто положите в корневую директорию сайта файл antivirus.php, запустите скрипт и увидите анализ всех файлов на предмет присутствия в них JS-вставок кода. Внимательно нажимая на ссылку Лечить напротив нужных файлов удалите все вставки вредоносного кода.  Вот собственно и все.

Самое главное — не забудьте сменить пароль к FTP после излечения всех файлов. И не храните пароли к FTP в программах (FTP-манагерах особенно аля TotalCommander).

Скачать antivirus.zip

Theme by Anders Norén