Мы будем Вам признательны, если Вы поддержите проект Open SLAED и используя Ваши возможности, разместите наш пресс-релиз на страницах своих сайтов, проектов, форумов, блогов. Текст пресс-релиза, возможно, видоизменить под Ваш формат, не искажая смысл. Пресс-релиз можно взять на данной странице.
Объём сохраняемой текстовой информации в базе данных имеет определённые ограничения. Для того, что бы не перегружать базу и тем самым не влиять отрицательным образом на скорость работы, системой устанавливаются стандартные размеры для текстовых полей с максимальной длиной 65535 символов.
В некоторых случаях, при публикации больших текстов с содержанием более 65535 символов, есть необходимость увеличить размер сохраняемой информации до максимума.
Для этого войдите в: Панель администратора >> База данных >> Запрос в базу данных
Выполните следующий пакет запросов:
Типы полей и их размеры
BLOB, TEXT - Максимальный размер 65535 символов.
MEDIUMBLOB, MEDIUMTEXT - Максимальный размер 16777215 символов.
LONGBLOB, LONGTEXT - Максимальный размер 4294967295 символов.
При использовании русской кодировки базы данных возможна не корректная работа системы с ней, на это есть ряд причин, как правило, конфигурации сервера. Для решения этой проблемы, необходимо принудительное подключение работы класса базы данных, для этого в файле системы: function/mysql.php в самом конце добавьте следующий код.
Вариант второй
Скорее всего, вы неправильно утановили дамп базы данных. Для того, чтобы правильно установить дамп, войдите в свою контрольную панель phpMyAdmin. В выпадающем списке «Сопоставление соединения с MySQL» выберите пункт utf8_general_ci. Затем выберите свою базу данных в левой части страницы и перейдите на вкладку «Операции». На открывшейся странице в выпадающем списке «Сравнение» выберите пункт cp1251_general_ci. Теперь при загрузке файла с базой данных (который, как правило, имеет расширение .sql) не забудьте выбрать в соответствующем выпадающем списке кодировку cp1251, и проблема должна исчезнуть.
- Общаться в основном чате, так и в его мини-версии в виде блока
- Кликабельные смайлы со вставкой в поле сообщения
- Преобразование текстовых символов - :), указанных в админке, на выставленные смайлы
- Пейджер, теперь ваши пользователи могут отправлять друг другу личные сообщения и получать уведомление по желанию о прочтении сообщения получателем
- Личный список контактов с возможностью добавления и удаления контактов
- Пользователи могут удалять свои личные сообщения
Для админа:
- Редактирование и удаление сообщений
- Настройки чата в том числе и возможность изменить дизайн под стиль своего сайта
- Бан юзеров и гостей по нику в первом случае и по ИПу во втором, с указанием причины и срока бана, а также опцией запрета отправлять личные сообщения для пользователей
- Возможность добавления своих смайлов с указанием кода для каждого. Смайлы выбираются из общей для системы папки со смайлами - images/smiles, вы можете заливать туда любые картинки-смайлы и добавлять в базу из админки, и в случае необходимости отредактировать или удалить
- НОВИНКА! Добавлен бот! Добавьте "живности" своему чату, включив бота, дав ему имя и указав его активность в чате и файл с его фразами, которые он будет время от времени выкидывать. Вы можете составить много файлов с фразами и затем указывать необходимый из админки. Рекомендация: делайте много фраз, чтобы было меньше повторов, но не рекомендуется использовать файлы размером больше 50 Kb
- Возможность читать личные сообщения пользователей
- Вы также можете прямо из админки отправить кому-либо личное сообщение, либо всем пользователям сразу
- Настройка окна BB-кодов
Новое:
1. Каждому пользователю можно назначить разное количество сообщений
2. Когда приходит рассылка или предупреждения, сообщается от кого оно пришло. От администраторов или пользователей, у которых есть доступ к модулю
3. В быстрый ответ добавлен мини редактор, который можно включать или выключать
4. В админке для предупреждений или рассылки добавлен редактор, который также можно выключать
5. Добавлена смена пути к графической теме оформления модуля
6. Добавлена возможность, прикреплять графические файлы к сообщениям
7. Изменять количество символов в заголовке просмотра сообщений
8. Изменять количество символов в заголовке папок Входящие, Отправленные и т.д.
9. Уведомлять пользователя о приходе сообщения на email
10. В модуль Account в профиле добавлена уведомлять о новых сообщениях на email. да или нет
11. В администрации в управлении Пользователями, при редактировании пользователя добавлены
• Лимит сообщений:
• Разрешить отправлять сообщения:
• Разрешить прикреплять файлы:
12. Добавлять пользователям или уменьшать лимит сообщений можно одним нажатием на кнопки или -. шаг сообщений выставляется в настройках
13. Немного подправлен код модуля
14. Включать мини-BB редактор для быстрого ответа
15. Включать BB редактор для администраторов модуля для отправки рассылок и предупреждений
16. Включать или выключать формы для загрузки файлов.
• 1 я форма универсальная для загрузки любых файлов, которые разрешены администрацией сайта
• 2 я форма для графических файлов. не использовать для обычных файлов типа zip rar.
17. Для графических файлов создаются мини копии (привьюшки) для показа в сообщении.
18. Графические файлы можно и в первой форме загружать но не будут создаваться привьюшки..
19. При получении нового сообщения появляется pop-up окно с сообщением.
• Окно появится при входе пользователя на сайт. если у него есть личные сообщения .а также при получении сообщения пока пользователь находится на сайте.
20. При просмотре информации о пользователе в Account можно сразу написать ему Л.С
Модификация недавно публиковавшегося блока "Последние комменты под версию 2.0". Портировал под 1.хх и внес следующие поправки:
1. Поправлена иногда появляющаяся ошибка в IE, когда комменты выводились с правой стороны блока по 1 слову, причем в Опере все было как надо. Теперь все нормально.
2. Перед комментом выводится Имя поместившего и раздел (News, Voting). Пример: LShark News
3. Сами комменты обрезаются до 75 символов, чтобы не уродовать блок, если кто кинет большой коммент.
4. Ссылка с коммента ведет прямо в статью, а не в раздел этой статьи. Поправлены ссылки таким образом, что и новости и голосования работают правильно (у голосований ссылка отличается от ссылки статьи).
5. Комменты отделены друг от друга горизонтальной чертой для удобства чтения.
6. Картинку ar.gif из архива киньте в папку images сайта, она симпатичнее ранее предложенной.
7. Гигантская благодарность автору оригинального блока - посещаемость статей возросла, сразу видны (и удобно админам чистить) комменты-пустозвоны (типа ОГОГО или нескольких смайлов).
Доработка модуля News.
Показывает номер страницы плюс 2 вперед, плюс 2 назад, плюс форма перехода на страницу с произвольным номером (в форме запрещен ввод любых символов, кроме цифр, если введенный номер меньше единицы и больше максимального номера пользователь переходит на первую).
Блок выводит случайный анекдот (афоризм и тд) из своей базы. Есть возможность добавления анекдотов. Администратор может просмотреть все анекдоты и ненужные удалить.
Просто скопируйте все файлы из архива по каталогам и установите нужный CHMOD для файла anekdots.dat. В файле config.php прописано немного еще настроек, количество одновременно отображаемых анекдотов, выводить подпись или нет, допустимое количество символов в анекдоте и тд.
Блок написан на примере скрипта WR-анекдот.
На работу можно посмотреть по адресу: kazakru.kentavr.info
Если вам понравился скрипт, то Вы можете отблагодарить положив от рубля и выше на:
Изменения от версии 0.03
1) Размеры блока отражаются коректно в теме от Deafeat + оптимизирвано позиционирование внутри блока.
2) Добавлена опция "восстановить пароль".
3) Опять же убран ещё один ненужный запрос к БД а также оптимизирован и дополнен код.
4) Добавлено отражение даты на русском (не мультиязычно).
5) Изменено отражения ника который превышает 18 символов чтобы непрекашивало размеры блока.
Представляю Вашему внимании новую профессиональную версию системы 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 3.4 Pro. При работе над этой версией были учтены пожелания клиентов относительно существующих функций и в соответствии с этим были произведены необходимые модификации, обновления, улучшения. Глобальным изменениям и модификациям были подвергнуты основные функции ядра системы, такие как определение администратора, его прав, функции работы с RSS каналами, парсинг ББ кода, а именно PHP, HTML, сортировка файлов редактора и многое другое.
Изменениям были подвергнуты почти все модули и файлы системы. Частично были затронуты шаблоны тем оформления. Несмотря на это, работа системы с выпущенными ранее модулями, блоками, темами оформления осталась без изменений.
В виду большого количества изменений внесённых в основные функции системы будет выпущена Beta версия, предназначенная исключительно для тестирования и отладки. Скачать данную версию сможет любой желающий в каталоге файлов. Если Вы нашли ошибку, у Вас появились какие либо проблемы касательно установки или использования системы, рекомендуем, обратится в отдел форума, специально посвященный этой теме.
Общие изменения, новые возможности, модификации
В панели пользователя отдела для клиентов добавлена возможность просмотра актуального статуса приобретенного продукта.
В систему интегрирована новая технология использования поисковых систем непосредственно в браузере пользователя. Это даёт возможность интегрирования поиска на Вашем сайте по типу Google, MSN и т.д., непосредственно в браузере посетителя по его желанию.
Частично переписана система рейтинга, изменено оформление рейтинг баров с возможность просмотра существующего состояния рейтинга до установки своей оценки.
Написана новая система генерации RSS каналов с учётом новых стандартов с использованием категорий, авторов, даты и сортировки в соответствии с ними. Использование каналов возможно для модулей: Вопросы и ответы, Каталог файлов, Каталог сайтов, Медиа каталог, Статьи, Магазин, Новости проекта.
Модифицирована функция автоматической генерации ключевых слов сайта, установлен фильтр, исключающий проблемы при использовании специальных символов в содержании статей.
Модифицированы функции кэширования, таким образом, исключена возможность попадания и запись в папку кэша не существующих или пустых страниц.
Переписаны все функции обработки и записи RSS потоков в базу данных при их использовании в блоках. Теперь RSS каналы не используют базу данных, все конфигурации записываются в файлы, что в свою очередь снижает нагрузку на базу данных системы.
Написан новый модуль панели администратора для создания и работы с RSS потоками. Установлено использование и редактирование своего шаблона для отображения каналов на сайте. Установлена возможность добавления нужных Вам каналов, которые будут добавлены в код сайта для определения и их дальнейшего использования браузерами.
Расширена функция работы с темами оформления. Добавлена возможность уникального оформления главной страницы независимо от установленного на ней модуля.
Добавлена проверка на размер кэшированных страниц, если размер равен нулю, то кэш в этом случае не создаётся, страница генерируется заново и создаётся повторно.
Для повышения удобства в использовании, модифицирована визуальная часть ББ редактора. Панель разделена на две части и размещена сверху и снизу окна ввода.
Полной модификации подверглись функции парсинга PHP кода, обычного кода, цитат, скрытого кода. Значительным образом снижена скорость генерации страниц, в местах, где используется большое количества ББ кода. Улучшена визуальная часть.
Для улучшения понимания и сферы использования, произведены языковые корректировки названий модулей новостей и статей, произведена смена графических элементов в панели администратора для этих модулей.
Разработана новая система установки, и использование дополнительных полей, применение которых на данный момент возможно в пользовательском и новостных модулях. Настройка и установка дополнительных полей предусмотрена в отделе администратора системы.
Модификации подверглись стили тем оформления, используемые в формах системы. Таки образом реализована корректная и идентичная работа оформления форм во всех популярных браузерах.
Модификации подвергся модуль пользователей системы. Изменениям подверглись настройки пользователя и некоторые языковые константы.
Разработана новая функция автоматического определения и установки базы данных модуля непосредственно из панели администратора. Добавлены три основных действия, это: Установка таблиц базы данных модуля, Удаление таблиц базы данных модуля и Обновление таблиц базы данных модуля. Более подробная информация для разработчиков модулей будет описана в документации на проекте. В качестве примера в новостном модуле реализована данная возможность.
Глобальным образом модифицирована функция динамической (AJAX) работы с файлами в ББ редакторе. Произведена смена принципа сортировки файлов (Теперь сортировка производится по дате), что значительно улучшает удобство использования и сокращает время генерации и определения файлов.
Написан совершенно новый модуль заказов, предназначенный для заказа товаров, услуг или других сервисов Вашего проекта. Данный модуль имеет возможность установки дополнительных, своих полей, а значит, может быть применён в широкой сфере. Существует панель управления модулем, которая имеет возможность хранения, редактирования, добавления заказов, а так же необходимое количество конфигураций, таких как: Отключение заказов, Подтверждение заказов администратором, дублирование заказов, выводимая и отправляемая информация.
Значительным изменениям подверглись функции ядра системы, которые используются для определения пользователей и администраторов системы. Более удобному разграничению подверглись права администраторов проекта по тем или иным модулям. Дополнительно к этому, упрощено их использование при написании своих модулей.
В конфигурациях панели администратора системы добавлена возможность установки модуля для главной страницы панели администратора по умолчанию.
Значительным образом переписана и централизованна система рейтингов. Написана новая панель администрации рейтингом. Таким образом, рейтинг сталь ещё удобней, функциональней, получил возможность дальнейшего расширения для других модулей без глобальных изменений в ядро системы.
Добавлена возможность интеграции с актуальной версией форума Invision Power Board 2.3.1
Исправления и корректировки
Исправлена ошибка, связанная с редактированием внедрений в систему при активированном HTML редакторе, который внедрялся и мешал корректному редактированию внедрений.
Исправлена ошибка в комментариях системы, проявлявшаяся при работе с браузером Firefox, связанная с добавление ника пользователя, в текстовое поля для ответа.
Исправлена неточность в панели администрирования новых анекдотов, добавленных посетителями сайта. Проблема появлялась при их одобрении администратором.
Вы уже, наверное, в курсе, что группа разработчиков ядра PHP 6 встречалась в ноябре 2005 года в Париже. Это была захватывающая встреча, на которой разработчики обсудили развитие PHP со своей точки зрения. Прежде чем я начну свой рассказ о принятых решениях, вынужден предупредить – все что здесь перечислено, это не «100% решенные вопросы» и в окончательном релизе PHP 6 дела могут обстоять иначе. Конечно же, все эти моменты будут обсуждаться подробнее, но уже сейчас можно говорить о перспективах.
Окончательные релизы PHP 6 появятся не скоро, но профессиональные разработчики должны знать к чему готовиться...
Юникод
Поддержка юникода в настоящий момент может быть установлена только на уровне «per request», т.е. для каждого запрашиваемого файла. Это означает, что PHP придется сохранять варианты классов, имен методов и функций одновременно в таблице символов Unicode и в non-Unicode, что, конечно же, увеличивает количество потребляемых ресурсов. Разработчики решили сделать настройку юникода на уровне всего сервера, а не запроса. Отключение поддержки юникода, если таковая не требуется, может увеличить производительность строковых функций до 300% и приложений в целом до 25%. Вынос настроек в php.ini позволит снять заботу о юникоде с разработчика и переложить ее на администраторов хоста.
Если вы самостоятельно собираете PHP и несете всю ответственность за ваши серверы, то вам будет полезно знать, что для PHP 6 потребуются библиотеки ICU (в зависимости от того, будет ли нужен Unicode или нет).
Register Globals уйдут в прошлое
Попрощайтесь с этой настройкой, она будет окончательно убрана. Такой настройки больше не будет в php.ini и если вы ее внесете, то получите ошибку уровня E_CORE_ERROR. Это означает, что PHP 6 наконец-то завершит эру скриптов PHP 3. Это серьезный, но очень нужный шаг.
Magic Quotes будут исключены
Опция magic quotes будет так же исключена из PHP и при попытке включения такой настройки, «выскочит» ошибка E_CORE_ERROR. Это повлияет на magic_quotes, magic_quotes_sybase и magic_quotes_gpc.
Больше не будет Safe Mode
Это понравится тем, кто хостится на серверах с обязательным включением Safe Mode. Теперь, включение опции будет вызывать ошибку E_CORE_ERROR. Причиной для этого становится механизм посыла «сигнала опасности», который делает PHP более безопасным. Сохранится лишь open_basedir.
'var' будет полным алиасом 'public'
Var используется в классах PHP 4. В объектном подходе PHP 5, употребление var вызывает ошибку уровня E_STRICT. В PHP 6 предупреждение об ошибке будет устранено и var станет полным синонимом public. Это вполне нормальное решение, однако, те, кто «подогнал» свои скрипты под PHP 5, сделали в этом плане лишнюю работу.
Возврат по ссылке вызовет ошибку
И '$foo =& new StdClass()' и 'function &foo' теперь вызовут ошибку уровня E_STRICT.
Будет убрана совместимость с zend.ze1
Ze1 всегда пытался поддерживать старое поведение PHP 4, но не всегда «работал на 100%», поэтому в шестой версии PHP он будет полностью исключен.
Поддержка Freetype 1 и GD 1 будет убрана
Поддержка обоих (очень-очень старых) библиотек будет убрана.
dl() останется только в SAPI
Каждую функцию SAPI нужно будет регистрировать отдельно и только CLI и embed SAPI будут работать с этого момента. В других вариантах dl() работать не будет.
FastCGI всегда включена
FastCGI код будет «вылизан» и станет включенным по-умолчанию для CGI SAPI. При этом, поддержку FastCGI будет невозможно отключить.
Старые названия глобальных массивов будут удалены
Помните старые массивы HTTP_*_VARS? Если вы еще не начали использовать $_GET и $POST, то начните делать это прямо сейчас, потому что в PHP 6 эти массивы будут вызывать E_CORE_ERROR.
Перемещения расширений
Расширения XMLReader и XMLWriter войдут в дистрибутив и станут доступны по умолчанию. Расширение ereg для работы с регулярными выражениями переедет в PECL (т.е. будет удалено из PHP). Это означает, что PCRE будет по умолчанию недоступно и выключено. Такой шаг делается для включения нового расширения для работы с регулярными выражениями, основанными на ICU. Чрезвычайно полезное расширение Fileinfo будет включено в дистрибутив и доступно по умолчанию.
Дополнения к движку PHP
64 битный целочисленный тип данных
В движок будет добавлен новый тип данных -int64. Он будет использоваться поумолчанию для integer.
Goto
Никаких команд goto не будет добавлено. Однако, команда break расширится статической меткой, поэтому будет возможно написать break foo и это перекинет на метку foo: в вашем коде.
ifsetor()
Похоже, что мы не увидим эту функцию, что обидно. В операторе ?: можно будет опускать один параметр, что позволит писать так: "$foo = $_GET['foo'] ?: 42;" (т.е. если foo является истиной, то $foo будет равно 42). Это сэкономит немного кода, однако будет не так читаемо, как при использовании ifsetor().
foreach для многоуровневых массивов
Это отличное новшество – вы сможете проходить с помощью foreach по нескольким уровням массива, к примеру "foreach( $a as $k => list($a, $b))".
{} против []
Сейчас вы можете использовать и {} и [] для обращения к строковым индексам. Однако, запись {} уже сейчас вызовет E_STRICT в PHP 5.1 и будет полностью устранена в PHP 6. К тому же, [] частично заменят substr и array_slice и вы сможете использовать "[2,]" для получения символов от второго и до конца строки. Очень удобно.
Изменения в объектном стиле
Связка static
Будет добавлено новое ключевое слово для доступа к последующей связке – static::static2(), что позволит управлять static во время выполнения.
Пространства имен
Этот момент остается нерешенным и по сей день. Мой совет – не задерживайте дыхание.
Типизированные значения при возврате из функций
Разработчики высказались против типизации, потому как это «не в стиле PHP». Однако такая возможномть будет добавлена, но не решен вопрос ее синтаксиса. В любом случае, это будет полезная возможность.
Вызов динамческих функций как статических приведет к E_FATAL
Сейчас вы можете вызывать статические и динамические методы не обращая внимание на то, статические они или динамические. Вызов динамической функции как статической, вызовет E_FATAL.
Добавления в PHP
APC войдет в ядро
Работа APC с байткодом будет включена в основную поставку PHP в качестве стандарта, но, вероятно, не будет активизирована по-умолчанию, но результаты ее работы будут стимулировать хостеров включать эту опцию.
Hardened PHP патч
Этот патч выполняет большое количество дополнительных проверок на безопасность. Разработчики тщательно изучают этот патч и некоторые элементы найдут свое место в PHP: защита от разделения HTTP-запроса, allow_url_fopen будет разделена на две: allow_url_fopen и allow_url_include. Первая опция будет по-умолчанию включена, а вторая – отключена.
E_STRICT войдет в E_ALL
Вау, это серьезная штука! Сообщения об ошибках наконец-то войдут в E_ALL по умолчанию. Это демонстрирует старания разработчиков научить «лучшей практике программирования» посредством сообщений «Эй, ты делаешь неправильно!».
Прощайте asp-тэги <%
Будет удалена поддержка ASP-тэгов, но останутся короткие PHP-тэги <? ?>.
Заключение
PHP 6 движется в интересном направлении – разработчики PHP начали направлять программистов на правильный путь, вместо того чтобы упреждать «так делать не надо, потому что это устарело». Категоричное искоренение таких моментов как register globals, magic quotes, long arrays, {} string indexes и call-time-pass-by-references наконец-то заставит программистов «вычистить» свой код. Плохо ли это? Я так не думаю, но все это сделает переход на PHP 6 еще более медленным, чем мы наблюдаем с PHP 5 (который итак происходит ужасно!).
Официальная информация: http://www.php.net/~derick/meeting-notes.html
Оригинал статьи: http://www.corephp.co.uk/archives/19-Prepare-for-PHP-6.html
Автор: Richard Davey
Перевод: Андрей Олищук
Источник: http://phpclub.ru
В серии статей "Ten Security Checks for PHP" кратко рассматриваются 10 наиболее часто совершаемых PHP программистами ошибок, приводящих к проблемам с безопасностью скриптов.
Избегайте использования переменных сформированных на основании данных пользователя в функции включения файла (include, require) или доступа к файлу (readfile, fopen, file). Например: include($lib_dir . "functions.inc"); include($page); переменные $lib_dir и $page перед этим нужно проверить либо на предмет наличия запрещенных символов, либо сопоставить с заранее определенным массивом допустимых значений.
if (!(eregi("^[a-z_./]*$", $page) && !eregi("..", $page))) {
die("Invalid request");
}
Необходимо экранировать опасные символы ( и ') в переменных участвующих в SQL запросах. Например, злоумышленник может передать переменную вида "password=a%27+OR+1%3Di%271" которая будет использована в SQL запросе как "Password='a' or 1='1'". Решение: включить magic_quotes_gpc в php.ini или экранировать переменные самостоятельно через addslashes();
Никогда не нужно доверять глобальным переменным, при включенном в php.ini режиме register_globals злоумышленник может подменить значение глобальной переменной. Используйте ассоциативные массивы $HTTP_GET_VARS и $HTTP_POST_VARS с выключенным register_globals и в начале скрипта явно инициализируйте все глобальные переменные.
Определяйте местонахождение закаченного файла только через is_uploaded_file() или используя move_uploaded_file(), но не доверяйте глобальной переменной с путем к закаченному файлу, значение которой злоумышленник может подменить.
Используйте функции htmlspecialchars(), htmlentities() для экранирования HTML тэгов присутствующих в данных полученных от пользователя.
Защищайте библиотеки функций от просмотра их исходных текстов пользователем (расширения .inc, .class). Решение: снабжайте библиотеки расширением .php, помещайте в закрытую директорию или настройте хэндлер для парсинга расширения файлов с вашими библиотеками.
Помещайте файлы данных вне дерева файловой системы доступной через web (уровнем ниже htdocs, или "document root") или защищайте директории через .htaccess.
mod_php запускайте в режиме safe_mode.
Проверяйте наличие запрещенных символов в переменные используемых в функциях eval, preg_replace, exec, passthru, system, popen, ``.
При использовании не mod_php, а CGI варианта php.cgi не забывайте, что через php.cgi можно получить доступ к любому файлу в директориях защищенных через .htaccess, так как доступ в этом случае ограничен только для прямых запросов, но не для запросов через CGI скрипт php.cgi.
Все, изложенное мной, является плодом более чем 3-летнего опыта в области оптимизации сайтов и практических наблюдений. Таким образом, мои рекомендации будут носить в большей степени субъективный практический характер, чем теоретический. Сразу предупреждаю, что все мои советы актуальны для владельцев серьезных тематических ресурсов, а не всяких дурацких развлекательных порталов, цель которых – привлечь абы кого, чтобы только заработать баннерные показы или накрутить счетчик.
Продвижение сайта - Заголовки
Итак, я открываю серию статей, посвященных продвижению интернет-сайта в сети. Все, изложенное мной, является плодом более чем 3-летнего опыта в области оптимизации сайтов и практических наблюдений. Таким образом, мои рекомендации будут носить в большей степени субъективный практический характер, чем теоретический. В моих статьях я не буду тратить время на всякие системы накрутки счетчиков, обмена посетителями и прочую подобную фигню. Продвижение в моем случае прежде всего означает оптимизацию страниц сайта под поисковые роботы + различные советы и тонкости из практики. Надеюсь, вам будет интересно и кому-нибудь мои советы даже помогут в увеличении целевой аудитории, посещающей ваш сайт.
Будем считать, что вы хорошо владеете программированием на HTML и знаете, для чего нужны различные тэги и куда их пихать, поэтому на технической стороне я не буду заострять внимание. Говоря о заголовке, я имею в виду содержание страницы от тэга ‹HEAD› до тэга ‹/HEAD›. Напомню, что структура стандартной страницы представляет из себя примерно следующее:
Как раз о верхней части страницы и пойдет речь в этой статье, т.е. подробно о тегах TITLE и META.
TITLE
Надеюсь, вы уже догадались, что TITLE – это титул страницы. Пользователь видит его в верхней части окна браузера. Тэг TITLE прежде всего имеет важное значение при оптимизации страницы под поисковые машины. Все без исключения поисковые роботы обрабатывают значение TITLE и в соответствии с его содержанием формируют перечень ключевых слов и фраз страницы. Таким образом, титул должен отражать реальное содержание страницы или сайта. Однако при заполнении этого параметра многие совершают следующие ошибки:
Начинают перечислять перечень ключевых слов. Современные поисковые роботы стали гораздо сообразительней, чем раньше и в большинстве случаев им удается распознать, что в титуле написана белиберда, а не четкое и внятное содержание страницы. Это может привести к тому, что поисковик проигнорирует титул при индексации;
Вбивают текст размером с первый том "Капитала" Карла Маркса. Дело в том, что поисковые роботы серьезно относятся к содержимому тэга TITLE, но обычно индексируют первые 25-50 символов. Таким образом, оставшаяся писанина только напрасно увеличивает объем страницы и время загрузки;
Перегружают титул спецсимволами (запятыми, кавычками, тире и пр. знаками). Спецсимволы в TITLE не индексируются поисковыми роботами, так что их использование лучше свести к минимуму, или вообще постараться обойтись без них;
Пишут содержание TITLE прописными (заглавными) буквами. Многие поисковики этого не любят. Так что лучше их не злить понапрасну и писать нормально. От того, что вы напишете титул прописными, заметней для поисковика вы не станете!
В общем, рекомендую перед заполнением тэга TITLE как следует подумать, о чем ваш сайт и выразить его тематику в 2-3 веских словах в виде словосочетания.
META
О тэге META у нас будет разговор серьезный. Прежде всего необходимо понять, что META-тэги являются важной составляющей в странице и их правильное использование может как поднять популярность страницы, так и оказать обратное воздействие.
META-тэги делятся на две группы: контролирующие отображение страницы браузером и служащие ценной информацией для поисковых машин. Первая группа тэгов вводится следующим образом:
‹META HTTP-EQUIV="параметр" CONTENT="значение"›
Я не буду заострять внимание на этом виде META-тэга, т.к. моя задача – рассказать, как сделать страницу доступной, а не как сделать, так, чтобы она правильно отображалась браузером. Но чтобы вы поняли, для чего нужны эти META-тэги, приведу несколько примеров их использования:
Указывает, в какой кодировке должна выводиться страница (в данном случае: windows-1251). Также возможны значения (в поле CHARSET): koi8-r, iso-8859-5, iso-8859-1 и т.д.
Указывает типы переменных, содержащихся на странице (в данном случае: текст и JavaScript™). Возможные значения: text, javascript, php и т.д.
‹META HTTP-EQUIV="pragma" CONTENT="no-cache"›
или
‹META HTTP-EQUIV="no-cache›
или
‹META HTTP-EQUIV="cache-control" CONTENT="no-cache"›
или
‹META HTTP-EQUIV="expires" CONTENT="wed, 2 mar 1996 00:00:05 GMT"›
Запрет на кэширование браузером страницы. Тэг актуален в том случае, если содержимое страницы часто меняется. В этом случае браузер будет при каждом обращении к странице заново ее кэшировать.
Сообщает браузеру язык, на котором написана страница (в данном случае: английский и русский). Возможно указать и один язык (например, только "ru") или несколько через запятую. Сразу скажу, что этот тэг актуален только для очень старых браузеров, а новые на него внимания не обращают, так что лучше его избегать.
Принудительно осуществляет переход на указанную страницу через определенное количество секунд (в данном случае: переход на страницу "http://yandex.ru/index.html" через 5 секунд).
Существует еще с десяток META HTTP-EQUIV тэгов, но, на мой взгляд, они бестолковые и не оказывают существенного влияния на отражение страницы. Или предназначены для устаревших версий браузеров, которые практически уже не используются. Советую не увлекаться такими тэгами и обратить внимание прежде всего на первый пример, выдающий кодировку документа – он является обязательным; остальные же используйте только по необходимости!
Второй тип META-тэгов вводится следующим образом:
‹META NAME="параметр" CONTENT="значение"›
Эти META-тэги никак не влияют на отображение страниц сайта, но играют важную роль в предоставлении информации поисковым роботам и указывают на алгоритм индексирования. В общем, служат чем-то вроде паспорта для страницы. Поскольку известно, что основная доля трафика генерируется поисковыми роботами, необходимо отнестись с полным сурьезом к заполнению значений этих тэгов. Ниже я привожу примеры значений с необходимыми комментариями:
‹META NAME="description" CONTENT="..."›
В поле CONTENT вы должны ввести краткое описание документа. Ни в коем случае не строчите трактат длинной в жизнь и не перечисляйте ключевые слова! Правильным будет написание небольшого предложения длинной до 200-250 символов, в котором повествуется, о чем ваш сайт (страница) и что на нем можно найти. Избегайте большого количества спецсимволов, слов из прописных букв и бессмыслицы (например, "Это чумовой сайт! Все сюда!"). Содержание параметра DESCRIPTION часто отражается в результатах поиска и вносится в базу данных поисковика. Так что чем точнее и лаконичней будет сформулировано описание сайта, тем лучше!
‹META NAME="keywords" CONTENT="..."›
В поле CONTENT вы должны внести через запятую (!) перечень ключевых слов и фраз, в соответствии с которым будет строиться запрос поисковым роботом. Только не надо вносить весь словарь Ожегова и/или Даля! Во-первых, поисковики обычно обрабатывают только первые n-цать символов в строке CONTENT (в среднем до 500). Во-вторых, ключевые слова и фразы должны отражать реальное содержимое страницы. В противном случае поисковый робот отсекает ненужное и часть содержимого KEYWORDS просто зазря засоряет страницу. Существует расхожее мнение, что сейчас поисковые роботы практически не уделяют внимания значению параметра KEYWORDS. Действительно, в процессе эволюции поисковики стали меньше обращать внимания на ключевые слова, потому что многие нехорошие люди занимались банальным поисковым спамом и вносили в KEYWORDS совсем не то, что было отражено на странице. Тем не менее, актуальность этого META-тэга еще до конца не утрачена и заполнять его все-таки рекомендуется.
Сообщает поисковому роботу частоту обновлений содержимого. В соответствии с этим страница может быть статичной (static), т.е. обновления происходят время от времени, редко или совсем не происходят; или динамичной (dynamic), которая обновляется часто (например, страница новостей). В поле CONTENT необходимо записать только одно из значений ("static" или "dynamic"), в соответствии с характером страницы. Некоторые "умники" пытаются обдурить поискового робота, объявляя статичную страницу динамичной, в надежде на то, что ее рейтинг повысится. Поисковик очень быстро вычисляет таких мошенников, отслеживая дату изменения файла страницы и характер изменений ее содержимого. В итоге можно отправиться в бан-лист, из которого путь будет не так прост. Чтобы этого не произошло, постарайтесь либо писать правду, либо вообще не употреблять этот параметр. Без него поисковик тоже в состоянии разобраться, какая эта страница и как часто ее переиндексировать.
‹META NAME="revisit-after" CONTENT="..."›
Тэг почти аналогичен предыдущему и указывает, через какой промежуток времени поисковик должен переиндексировать страницу. Опять-таки лучше не дразнить поискового робота и указывать реальное значение. Если у вас не лента новостей с ежедневным, еженедельным или прочим регулярным обновлением, то лучше этот параметр вообще не использовать. Если все-таки возникла такая необходимость, то значения поля CONTENT могут быть такими: day (пример: 1 day), days (пример: 7 days), week (пример: 1 week), weeks (пример: 2 weeks), year (пример: 1 year), years (пример: 5 years). Выражать промежуток времени можно различными значениями, но только одним из них. Например, 1 год можно записать как "1 year" или "365 days", или "52 weeks". Но недопустимо употребление сразу нескольких значений. Например, "1 year 2 weeks 3 days"!
‹META NAME="robots" CONTENT="..."›
Это очень важный тэг, который указывает поисковику, каким образом ему необходимо индексировать страницу. Возможные значения поля CONTENT:
index, follow – индексировать страницу и все ссылки на ней
index, nofollow – индексировать страницу, не индексировать ссылки
noindex, follow – не индексировать страницу, а только ссылки
noindex, nofollow – не индексировать страницу, не индексировать ссылки
all – равнозначен index, follow
none – равнозначен noindex, nofollow
Если вам все равно, как поисковый робот будет индексировать содержимое страницы, то лучше вообще этот параметр не использовать, т.к. в этом случае поисковик определит наиболее оптимальный и эффективный способ индексации. Если вдруг вам необходимо запретить на индексацию часть содержимого страницы, а другую оставить, то необходимо поместить запрещенный для поисковых роботов блок в тэг ‹NOINDEX›...‹/NOINDEX›. В этом случае META-тэг с параметром "robots" использовать не надо.
Существует еще целая куча META-тэгов подобного вида, всесторонне описывающая содержимое страницы, включая данные о ее создателе, генераторе, классификации и т.п. Отталкиваясь от практического опыта могу заметить, что ничего, кроме, засорения страницы и увеличения ее объема, они по сути не делают. Так что лучше ограничиться использованием вышеуказанных тэгов, которые являются основополагающими.
Итак, мы рассмотрели с вами основные требования к написанию заголовка страниц таким образом, чтобы их успешно и правильно индексировали поисковые роботы. Если вы все сделаете правильно, то уже через некоторое время (от 2 недель до месяца) вы заметите, что поисковые роботы стали лучше вас видеть и посетители стали лучше вас находить. Закрепляя вышесказанное, хочу привести пример, как может выглядеть идеальная для поисковика страница:
‹HTML›‹HEAD›‹TITLE›Справочник по META-тэгам‹/TITLE›
Исходя из многолетней практики использования и применения, на сегодняшний день система является одной из самых защищённых и безопасных систем подобного уровня. Не смотря на это, а так же по причине частого появления уязвимостей программного обеспечения серверного оборудования хостеров, на которых система может быть установлена, предлагаем Вашему вниманию советы и рекомендации по её защите. Настоятельно рекомендуем не игнорировать данную статью и выполнить все методы предложенные в ней. Здесь описаны самые важные способы по защите системы, которые обезопасят Ваш проект.
Для повышения безопасности, в панели администратора системы, в отделе безопасности установите дополнительные логин и пароль для входа в систему администрирования.
Ограничите вход в систему администрирования проектом по определённому IP Адресу или маски сети IP. То есть дайте доступ только по Вашему IP и IP Ваших администраторов. Данный способ защиты является самым оптимальным и исключает любой несанкционированный вход в панель администрирования. Ограничение по IP можно установить в панели администратора системы отдела безопасности.
Не оставляйте стандартное название файла администратора admin.php. $admin_file - пожалуй, самый важный параметр, определяет имя файла для входа в отдел администрации. Придумайте название файла, любое (на английском) и впишите в файле config/config.php. Сохраните этот файл и закройте. Теперь найдите файл admin.php и переименуйте его в то, что вы придумали.
Не устанавливайте права доступа CHMOD 777 на файлы и папки без необходимости. Так же не удаляйте файлы .htaccess в директориях системы. Они отвечают за безопасность и запрещают прямой доступ на файлы находящиеся в этой директории.
Не используйте модули и скрипты заведомо наклонные к уязвимостям. Не игнорируйте актуальные обновления системы. Будьте бдительны и старайтесь следить за новостями и обновлениями на нашем проекте. Не изменяйте и не удаляйте верхнею часть кода в файлах function/function.php и admin/admin.php, как правило, эти участки отвечают за безопасность.
Не устанавливайте одинаковые пароли и логины для пользователя и администратора системы. Не устанавливайте одинаковые пароли для соединения с базой данных и FTP. Старайтесь использовать пароли не короче пяти символов с комбинацией цифр и букв.
Не используйте стандартный префикс таблиц базы данных, это в значительной степени повысит защиту системы от различного рода SQL инъекций. Если при установке системы Вы установили префикс таблиц базы данных по умолчанию, рекомендуем изменить его. Для этого воспользуйтесь скриптом специально предназначенным для этих целей. Скачать скрипт можно в файловом архиве нашего проекта.
Регулярно производите резервное копирование базы данных, а так же всех файлов системы на свой компьютер или другие безопасные носители информации. Для резервного копирования базы данных используйте стандартную возможность, которая предоставляется системой.
Не используйте Cookies по умолчанию. В конфигурациях системы, измените стандартные название Cookies для пользователей и для администраторов. Это так же относится к названиям Cookies для заблокированных посетителей, который Вы можете изменить в конфигурациях отдела безопасности.
Исходя из многолетней практики использования и применения, на сегодняшний день система является одной из самых защищённых и безопасных систем подобного уровня. Не смотря на это, а так же по причине частого появления уязвимостей программного обеспечения серверного оборудования хостеров, на которых система может быть установлена, предлагаем Вашему вниманию советы и рекомендации по её защите. Настоятельно рекомендуем не игнорировать данную статью и выполнить все методы предложенные в ней. Здесь описаны самые важные способы по защите системы, которые обезопасят Ваш проект.
Для повышения безопасности, в панели администратора системы, в отделе безопасности установите дополнительные логин и пароль для входа в систему администрирования.
Ограничите вход в систему администрирования проектом по определённому IP Адресу или маски сети IP. То есть дайте доступ только по Вашему IP и IP Ваших администраторов. Данный способ защиты является самым оптимальным и исключает любой несанкционированный вход в панель администрирования. Ограничение по IP можно установить в панели администратора системы отдела безопасности.
Не оставляйте стандартное название файла администратора admin.php. $admin_file - пожалуй, самый важный параметр, определяет имя файла для входа в отдел администрации. Придумайте название файла, любое (на английском) и впишите в файле config/config.php. Сохраните этот файл и закройте. Теперь найдите файл admin.php и переименуйте его в то, что вы придумали.
Не устанавливайте права доступа CHMOD 777 на файлы и папки без необходимости. Так же не удаляйте файлы .htaccess в директориях системы. Они отвечают за безопасность и запрещают прямой доступ на файлы находящиеся в этой директории.
Не используйте модули и скрипты заведомо наклонные к уязвимостям. Не игнорируйте актуальные обновления системы. Будьте бдительны и старайтесь следить за новостями и обновлениями на нашем проекте. Не изменяйте и не удаляйте верхнею часть кода в файлах function/function.php и admin/admin.php, как правило, эти участки отвечают за безопасность.
Не устанавливайте одинаковые пароли и логины для пользователя и администратора системы. Не устанавливайте одинаковые пароли для соединения с базой данных и FTP. Старайтесь использовать пароли не короче пяти символов с комбинацией цифр и букв.
Не используйте стандартный префикс таблиц базы данных, это в значительной степени повысит защиту системы от различного рода SQL инъекций. Если при установке системы Вы установили префикс таблиц базы данных по умолчанию, рекомендуем изменить его. Для этого воспользуйтесь скриптом специально предназначенным для этих целей. Скачать скрипт можно в файловом архиве нашего проекта.
Регулярно производите резервное копирование базы данных, а так же всех файлов системы на свой компьютер или другие безопасные носители информации. Для резервного копирования базы данных используйте стандартную возможность, которая предоставляется системой.
Не используйте Cookies по умолчанию. В конфигурациях системы, измените стандартные название Cookies для пользователей и для администраторов. Это так же относится к названиям Cookies для заблокированных посетителей, который Вы можете изменить в конфигурациях отдела безопасности.