Мы будем Вам признательны, если Вы поддержите проект Open SLAED и используя Ваши возможности, разместите наш пресс-релиз на страницах своих сайтов, проектов, форумов, блогов. Текст пресс-релиза, возможно, видоизменить под Ваш формат, не искажая смысл. Пресс-релиз можно взять на данной странице.
Представляю Вашему внимании новую профессиональную версию системы SLAED CMS 3.5 Pro. При работе над данной версией учитывались пожелания пользователей предыдущих версий связанные с существующим функционалом. Внесены необходимые изменения и корректировки, повышающие безопасность системы и её отдельных участков. Полностью переписана система блокировки нарушителей и пользователей, что максимально затрудняет обход установленных администратором ограничений. Глобальным изменениям подверглись функции генерации темы оформления, что в свою очередь делает изготовление тем оформления ещё более универсальным.
Исправлена проблема, связанная с интеграцией системы с форумом IPB 1.3.1.
Модифицирована активизация новых пользователей. Установлено определение IP адреса и типа браузера с записью в базу данных.
Модифицированы стандартные темы оформления. Изменена цветовая гамма на более современную. Изменены пути к графическим элементам рейтинга с возможностью использования персонально для каждой темы.
Студией «Centroarts», специально для системы создана новая, уникальная тема оформления которая вошла в стандартную поставку.
Из стандартного пакета удалены темы оформления более ранних версий, они будут выложены в каталог свободных тем оформления на проекте системы.
Глобальным изменениям подверглась система блокировки нежелательных посетителей проекта. Добавлены параметры: Время блокировки, причина блокировки. Возможно оповещение заблокированного пользователя по средствам E-Mail о блокировки, причине и времени. Возможны различные параметры определения нежелательного пользователя.
Модифицирован отдел добавления и редактирования блоков, добавлена возможность управления «Свободных фиксированных блоков» и в качестве повышения удобства управления «Отрицание использования блоков в отмеченных модулях».
Модификации подверглись функции генерации блоков, системы, добавлены новые возможности.
Модифицирована система генерации тем оформления, добавлены новые возможности. При этом функциональность с темами оформления, написанными ранее осталась без изменений. Это значит, что старые темы будут работать с новой версией.
Глобальным изменения подверглась функция предпросмотра графических элементов, если это используется при публикации. Функция определяет автоматически месторасположения элемента на экране и отображается в оптимальном месте.
Добавлено перенаправление (Редирект) при входе (Логине) пользователя на сайте в то место, с которого производился вход, а не в профиль, как это было раньше.
Модифицирована система отправки рассылок. Исправлена проблема отправки, большому количеству зарегистрированных пользователей (Начиная с 10 000), как правило, эта проблема выражалась в выборе, при использовании PHP версии 5.1 и выше.
Добавлена новая возможность отправки рассылки персонально клиентам модуля заказов и магазина.
Снижено максимальное количество одновременных отправок для исключения больших нагрузок на почтовый сервер. Как правило, это выражалось при отправке рассылки более 10 000 зарегистрированных пользователей, при опции 100 одновременных отправлений.
Модификации подверглись базовые функции оформления публикаций при главной и детальном просмотре. Таким образом установлен вывод каждого компонента (Подробнее, дата публикации, количество просмотров, комментарии, рейтинг, печать, редактирование) отдельно, что даёт возможность их управления при вёрстке тем.
Модифицировано использование графических компонентов используемых в модулях, что даёт возможность создания графических элементов персонально для каждой темы оформления.
При использовании общей авторизации с форумом, реализована функция автоматической смены пароля на форуме, в случае его смены на сайте.
Для поискового модуля добавлена новая конфигурация, дающая возможность ограничения минимального количества символов в поисковом запросе.
В настройках комментариев системы добавлена возможность смены сортировки комментариев по дате публикации в порядке возрастания или убывания.
Персонально для каждого модуля создан уникальный стиль для ширины полей ввода. Это даёт возможность персонального оформления форм ввода для каждого модуля в отдельности непосредственно в файле стилей темы оформления.
Во всех модулях, где используется возможность публикации материала посетителями проекта, добавлена функция возвращения в исходный отдел при удалении ожидающих публикаций из панели администратора.
Написан новый модуль с панелью управления, который войдёт в стандартную поставку профессиональной версии. Название модуля «Содержание/Content», предназначен для размещения отдельной информации без оформления, рейтинга, комментариев и прочих дополнений. Данный модуль может быть использован для публикации документов, правил, объявлений и тому подобных материалов. Модулем предусмотрено вещание RSS канала, а так же непосредственное чтение RSS каналов и запись материала в базу модуля с последующим отображением.
Из стандартного пакета модулей удалён модуль «HTML Content» в виду низкого спроса, а так же по причине появления нового модуля «Content» который в большей мере отвечает актуальным запросам пользователей. Старый модуль «HTML Content» будет размещён для свободного доступа в файловом архиве проекта.
Добавлена новая функция определения IP адресов посетителей проекта с возможностью расширения. Новый метод исключает подмену IP адреса и может быть использован как основной, во всех модулях и компонентах системы.
Во всех модулях системы, там где, возможна публикация текстовых материалов, добавлен индикатор времени публикации с возможностью отображения соответствующего графического элемента в заголовке.
Модифицированы функции автоматической установки и обновления системы. Добавлены возможности определения необходимых параметров конфигурации системы при её обновлении. Добавлен автоматический генератор имени префикса, что значительным образом повышает уровень безопасности системы.
В ядро системы, а так же в прилагаемые к ней функции и модули было внесено около десяти изменений, которые значительным образом повысили уровень безопасности и стабильной работы системы в целом.
Изменениям подверглась функция предпросмотра публикуемого материала, сокращён код, внесены изменения повышающие функциональность и универсальность в её применении.
Написана функция определения браузера пользователя с учётом безопасности её применения. Произведены соответствующие изменения там, где она использовалась ранее.
Модифицирована панель управления группами. Добавлена возможность перехода к просмотру отсортированных пользователей по принадлежанию к той или иной группе. Добавлена подсветка описания для групп.
Полностью переписана административная часть управления пользователями системы. Добавлено более детальное редактировании и добавление пользователей с возможностью отправки на E-Mail логина и пароля. Установлена возможность просмотра новых, ещё не активированных пользователей с возможностью ручного активирования администратором, а так же их удаления при необходимости. Добавлена новая функция быстрого просмотра информации о пользователе, при наведении на ник. В конфигурациях установлена возможность отключения выбора темы оформления в профиле пользователя.
Значительным изменениям подверглась пользовательская часть модуля «Account». Переписаны функции регистрации и восстановления пароля пользователей. Улучшена визуальная часть данных участков, таким образом, восстановление пароля стало инстинктивно понятнее. Изменены сопутствующие инструкции и тексты.
Изменён способ и стиль генерации текста для отправки пользователю, теперь используется центральный шаблон. Улучшены тексты отправляемых сообщений при регистрации на сайте, смене пароля, востановлении пароля.
Новую версию можно будет преобрести начиная с 14.12.2007 в магазине нашего проекта. Актуальные пользователи версий 3.1, 3.2, 3.3, 3.4 Pro смогут скачать бесплатное обновление до версии 3.5 Pro непосредственно в отделе для клиентов.
Представляю Вашему вниманию новую версию системы SLAED CMS 2.4 Lite. Основной акцент при работе над данной версией делался на исправление ошибок и не точностей предыдущих версий, а так же несколько глобальных нововведений, на которых хотелось бы остановиться более подробно. Основное из них, это дополнительные поля, которые значительно повышают удобство в использование системы, дают возможность создания, и установки своих полей в новостном и пользовательском модулях.
Предусмотрено три типа полей, это одна строка, поле с текстом и список с выбором. Опытные пользователи и знатоки PHP, без особых трудностей смогут расширить данный функционал для других модулей, так как функции, используемые дополнительными полями являются централизованными, независимыми от модулей и могут, применятся по всей системе в целом.
Следующее изменение предусмотрено для упрощения установки модулей с базой данных. Даёт возможность установки и обновление модулей непосредственно из панели администрации моделей системы. Данная возможность будет работать только в случае, если модуль разработан с учётом нового стандарта, а именно:
1. База данных должна храниться в папке модуля sql/
2. База данных должна иметь название: table.sql
3. База данных обновления должна иметь название: update.sql
Содержание файлов с таблицами базы данных стандартное, с учётом специфики MySQL. Как Вы заметили, требования минимальные и не требуют сверх дополнительных усилий от разработчиков моделей. В качестве примера, можно взять новостной модуль, который написан с учётом нового стандарта.
Общие изменения, новые возможности, модификации
При использовании ББ тег и редактора, появилась возможность выравнивания графических элементов, а так же добавление описания и альтернативного текста к ним.
Произведены изменения дающие возможность добавления неограниченного количества смайлов, которые будут определены и установлены в автоматическом режиме.
Модифицирован ББ редактор, произведена добавка шрифтов, цветов, количество размеров.
Для улучшения понимания и сферы использования, произведены языковые корректировки названий модулей новостей и статей, произведена смена графических элементов в панели администратора для этих модулей.
Модифицирована подсветка отключённых модулей в панели администратора системы. Таким образом, снижена скорость генерации и размер используемых графических элементов.
Разработана новая функция автоматического определения и установки базы, данных модуля непосредственно из панели администратора. Добавлены три основных действия, это: Установка таблиц базы данных модуля, Удаление таблиц базы данных модуля и Обновление таблиц базы данных модуля. Более подробная информация для разработчиков модулей будет описана в документации на проекте. В качестве примера в новостном модуле реализована данная возможность.
Встроенный HTML редактор, используемый в системе, обновлён до актуальной версии. Исправлены неточности в его работе при редактировании содержания в коде.
Разработана новая система установки, и использование дополнительных полей, применение которых на данный момент возможно в пользовательском и новостных модулях. Настройка и установка дополнительных полей предусмотрена в отделе администратора системы.
Исправления и корректировки
Исправлена ошибка, связанная с некорректным чтением не существующей директории в отделе загрузок панели администратора системы.
Проработаны каналы RSS, приведены к общему стандарту, исправлены не точности, добавлено отображение комментариев при просмотре в браузере.
Исправлена ошибка с просмотром каналов RSS в профиле зарегистрированного пользователя системы, в случае если данная возможность активирована администратором.
Откорректированы все функции работы с каналами RSS, произведена смена фильтрации и определение даты публикации материалов.
Исправлена ошибка AJAX связанная с предварительным просмотром. Удалены лишние, не используемые компоненты.
Исправлена проблема с просмотром не активированных блоков в панели администратора системы.
Откорректирован файл интеграции с форумами. Исправлена проблема появлявшееся при регистрации новых пользователей в случае использования нестандартных префиксов таблиц базы данных.
Исправлена проблема в модуле опросов связанная с голосованием. Проблема присутствовала на версии PHP 5 и была связанна с передачей переменной с идентификатором опроса.
Откорректировано отображение кнопок добавления и редактирования в панели администратора модуля вопросов и ответов.
Исправлена ошибка, связанная с редактированием внедрений в систему при активированном HTML редакторе, который внедрялся и мешал корректному редактированию внедрений.
Исправлена проблема с некорректной работой ББ редактора под браузерами Firefox, Opera в случае использования двух окон ввода.
Откорректировано отображение файлов статистики ошибок и нападений в отделе безопасности панели администратора системы.
В этой публикации мы затронем те директивы, которые не успели охватить в предыдущих частях. Эти директивы не поддаются определению на уровне директорий. Это означает то, что вы должны иметь доступ к файлу конфигурации веб сервера Apache (httpd.conf).
Обычно такой доступ имеют пользователи «root» или администратор сервера.
Если вы хотите вести логи всех операций, выполненных с помощью mod_rewrite, можно активировать это с помощью следующей записи:
Эту строку нужно вписать в «Раздел 2: Конфигурация основного сервера» в файле httpd.conf, а не в .htaccess!
Все манипуляции, произведенные mod_rewrite будут записываться в этот файл. Имя лог файла может быть любым. Вы можете указать абсолютный или относительный (относительно ServerRoot) путь к файлу.
Если вы хотите вести разные лог файлы для различных виртуальных хостов, то нужно ввести изменения в «Раздел 3: Виртуальные сервера», например так:
RewriteLogLevel может быть определен в пределах диапазона от 1 до 8. Обычно достаточно первого уровня. Более высокие уровни используются для деббагинга.
Другая директива, которая является очень удобной в целях клоакинга – это так называемая карта перезаписи. Это – файлы, содержащие пары ключ/значение, обычно в формате текстового файла:
Ключи, как вы видите, имена хостов или IP адреса. В этом простеньком примере значение всегда одно – «spider». Естественно, в реальном файле значения будут другие. Эта директива может быть записана в второй («Конфигурация основного сервера») или третий («Виртуальные сервера») раздел файла httpd.conf:
«Карта перезаписи» возымеет эффект на весь сервер.
Также, в файл .htaccess записывается:
Данные условия будут производить системную проверку: произведен ли запрос поисковиком. С этой целью производится поиск по файлу spiderspy.txt. Если ключ найден, будет возвращено значение «spider», а «условие» будет являться истинным.
Затем выполняется первый RewriteRule. Это означает то, что запрашиваемая «.htm» страница будет отдана поисковику. Переменная $1 равна части в круглых скобках «^(. *).htm$», то есть имя файла останется тем же самым.
Если же URL вызван обычным посетителем, то применяется второе «правило»: пользователь будет перенаправлен на страницу «index.html».
Поскольку «.htm» страницы будут читаться только «пауками», они могут быть оптимизированы соответственно для поисковых серверов. Вы можете также использовать файл в формате «dbm» вместо обычного текстового файла. Бинарный формат данных позволяет ускорить поиск, который является особенно важным, если вы работаете с очень большими списками поисковиков. Пример, данный выше, предлагает простые функциональные возможности клоакинга. Все обычные посетители будут всегда переадресовываться к странице «index.html» и не будет вестись никаких логов файлов вне логов mod_rewrite.
Можно заменить несколько строчек кода php (perl и т.д.) в ваших приложениях, используя всего одну-две строки mod_rewrite. Последний пример проиллюстрирует это более подробно.
Цель – показать посетителям «фото дня». Посетитель, кликнувший по ссылке http://yoursite.com/pic.html увидит лучшую фотографию или картинку дня, и так каждый день. Мы будем работать с серверными переменными: TIME_MON, TIME_DAY
Поместим в файл .htaccess одну единственную строку:
Запрашиваемый URL будет перезаписан, например: pic-08-28.html, pic-08-29.html, pic-08-30.html и так далее.
Теперь, все что вы должны сделать – это единожды загрузить файлы с соответсвующими именами и забыть о ежедневном обновлении ссылки. Переменные времени также могут использоваться для другой периодичности.
Это был последний пример в серии публикаций о замечательном модуле mod_rewrite. Естественно невозможно было затронуть все нюансы, директивы, переменные и т.д. в данной публикации, целью было другое – дать общее представление и понимание основ, и так сказать «ввести в курс дела».
В двух предыдущих частях мы познакомились с основами «правил перезаписи» URL и «условиями правил». Позвольте предложить к рассмотрению два примера, иллюстрирующих более сложные приложения. Первый пример имеет дело с динамическими страницами, а второй показывает возможности вызова «.txt» файлов и произведение различных действий над ними.
Предположим, что у нас есть виртуальный магазин по продаже каких-то товаров. Клиенты обращаются к описаниям товаров через скрипт:
Эти адреса представлены как ссылки на большинстве страниц сайта.
А теперь допустим, что вы решили добавить сайт для индексации в поисковые системы. Тут вас поджидает небольшая неприятность – не все поисковики принимают, понимают и индексируют URL, в которых содержится символ «?».
Более естественным и приемлемым для поисковика является URL вида:
http://www.yoursite.com/cgi-bin/shop.cgi/product1
В данном случае символ «?» заменяется на «/».
Еще более комфортабельный URL с точки зрения поисковика будет иметь вид:
http://www.yoursite.com/shop/product1
Для поисковика, «shop» теперь как-бы является директорией, содержащей товары product1, product2 и т.д.
Если пользователь, со страницы результатов запроса в поисковике проследует по такой ссылке, то эта ссылка должна будет трансформироваться в ссылку: shop.cgi?product1.
Чтобы добиться такого эффекта можно использовать mod_rewrite, используя следующую конструкцию в файле .htaccess:
Переменные $1 и $2 составляют так называемые "backreferences". Они связаны с текстовыми группами. Вызываемый URL разбивается на части. Все, что находится перед «shop», плюс все что находится после «shop/» определяется и хранится в этих двух переменных: $1 и $2.
До этого момента, наши примеры использовали «правила» типа:
Однако мы еще не достигли истинной перезаписи URL адресов, в смысле того, что один URL должен перенаправлять посетителя на другой.
Для нашей записи вида:
применяется общий синтаксис: RewriteRule текущийURL перезаписываемыйURL
Как видите, эта директива выполняет действительную «перезапись» URL адреса.
В дополнение к записям в файл .htaccess, нужно еще заменить все ссылки на сайте, которые имеют формат «cgi-bin/shop.cgi?product», на ссылки вида: «shop/product»
Теперь, когда поисковик найдет страницу с подобными ссылками, он проиндексирует сайт без всяких видимых проблем.
Таким образом вы можете превратить чисто динамический сайт в сайт, имеющий статическую структуру, что явно принесет пользу в вопросе индексирования различными посковыми машинами. Обратите внимание на вид URL адресов на данном сайте. Вдобавок ко всему, они имеют еще и легкочитамую для человека структуру - ЧПУ (человекопонятный УРЛ). Но об этом мы поговорим в другой статье.
В нашем втором примере мы обсудим, как переадресовать запросы «.txt» файлов к сценарию программы.
Многие хостинг провайдеры, работающие с Apache предоставляют лог-файлы в общем формате. Это означает то, что они не будут соджержать поля с ссылающимися страницами и юзер-агентами.
Однако, относительно запросов к файлу «robots.txt», предпочтительно иметь доступ ко всем этим данным, чтобы иметь больше информации о посещении поисковиков, чем просто знать их IP адреса. Для того, чтобы оганизовать это, в «.htaccess» должны быть следующие записи:
Теперь при запросе файла «robots.txt» наш RewriteRule переадресует посетителя (робота) к обрабатывающему запросы скрипту text.cgi. Кроме того, переменная передается скрипту, которая будет обработана в соответствии с вашими нуждами. «REQUEST_URI» определяет имя запрашиваемого файла. В данном примере это – «robots.txt». Скрипт прочтет содержание «robots.txt» и отправит его web-браузеру или роботу поискового сервера. Таким образом, мы можем считать хиты посетителей и вести свои лог-файлы.
С этой целью, скрипт будет использовать переменные окружения «$ENV {'HTTP_USER_AGENT'}» и т.д. Это обеспечит получение всей требуемой информации. Вот исходный текст для сценария cgi, упомянутого выше (пример взят с сайта http://fantomaster.com):
Загрузите файл с данным содержимым в корневую или в DocumentRoot директорию сервера и установите права доступа у файлу (chmod) 755. Затем, создайте каталог «stats». Более детальное описание о том, как установить скрипт вы можете получить на сайте разработчика.
Если настройки вашего сервера не позволяют исполнять cgi-сценарии в главной директории (DocumentRoot), то попробуйте следующий вариант:
Обратите внимание, что в этом случае, будет необходимо изменить пути в коде скрипта!
Наконец, вот решение задачки, данной в предыдущей части этой публикации:
Если мы пишем в регулярном выражении «^212.37.64» вместо «^212.37.64.» (с точкой в конце), то даст ли это тот же самый эффект, и будут ли исключены те же самые IP адреса?
Регулярное выражение ^212.37.64 удовлетворяет и применимо к следующим строкам:
Следовательно, последняя цифра «4» может сопровождаться любой символьной строкой. Однако, максимальным значением IP является адрес 255.255.255.255 – который подразумевает, что например 212.37.642.12 – неправильный (недопустимый) IP. Единственный допустимый IP в вышеприведенном списке – 212.37.64.12!