Мы будем Вам признательны, если Вы поддержите проект Open SLAED и используя Ваши возможности, разместите наш пресс-релиз на страницах своих сайтов, проектов, форумов, блогов. Текст пресс-релиза, возможно, видоизменить под Ваш формат, не искажая смысл. Пресс-релиз можно взять на данной странице.
В плане функционала, безопасности и стабильной работы системы, следующие параметры и настройки сервера являются оптимальными.
PHP: 5.* или выше
PHP GD: 2.* или выше
MySQL: 5.* или выше
Post size: 8 MB или выше
Upload file size: 2 MB или выше
Memory limit: 32 MB или выше
Execution time: 30 сек. или выше
Mod Rewrite: On
GZip compression: On
BZip2 compression: On
Register globals: Off
Safe mode: On
Magic quotes gpc: On
Данная информация доступна на главной панели администратора в блоке «Системная информация». Если у Вас нет данного блока, активируйте его в конфигурациях системы.
Параметры: Register globals, Safe mode и Magic quotes gpc можно изменить если они не соответствуют оптимальным.
1. Войдите в панель управления системой, отдел: Панель администратора >> Редактор
2. В файл конфигураций правил преобразований ЧПУ на серверном уровне: .htaccess
Найдите следующую запись:
Измените её, сняв знак # комментария. В изменённом состоянии она должна выглядеть так:
Для работы этого метода, сервер Вашего хостера должен поддерживать работу с .htaccess и разрешать смену данных параметров. При возникновении проблем, проконсультируйтесь у хостера.
Не для кого не секрет что некоторые сайты для экономии своего трафика и размера используемого места на сервере применяют удалённые изображения с других сайтов, тем самым поглощают чужой трафик и повышают нагрузку на сервер. Что бы этому воспрепятствовать, предлагаю к использованию следующие методы.
На случай если необходимо запретить использовать любые изображения сайта
1. Войдите в панель управления системой, отдел: Панель администратора >> Редактор
2. В файл конфигураций правил преобразований ЧПУ на серверном уровне: .htaccess
После:
Добавьте следующую запись:
Заместо: slaed укажите своё имя домена.
Заместо: net укажите своё окончание домена.
Заместо: http://www.slaed.net/images/logos/Logo_Web_2_2.gif укажите ссылку на ваш логотип или изображение которое будет отображаться на том сайте который использует Ваше изображение.
Для того, что бы запретить использовать изображения только определённой директории
1. Создайте файл: .htaccess со следующим содержанием:
Заместо: slaed укажите своё имя домена.
Заместо: net укажите своё окончание домена.
Заместо: http://www.slaed.net/images/logos/Logo_Web_2_2.gif укажите ссылку на ваш логотип или изображение которое будет отображаться на том сайте который использует Ваше изображение.
2. Загрузите созданный файл в директорию, использования изображений которой должны быть запрещены.
Для работы этих методов, сервер Вашего хостера должен поддерживать работу с .htaccess, Mod Rewrite должен быть установлен и активирован.
На первый взгляд домен с приставкой www и без неё является одинаковым, на самом деле это не так. Сервером они инициируются как два разных домена и, как правило, на них можно установить два совершенно разных сайта. У некоторых хостеров слияние двух доменов предусмотрено изначально и производится автоматически, у некоторых данная настройка существует в панели управления хостингом, для хостингов у которых слияние не предусмотрено можно воспользоваться следующим методом.
1. Войдите в панель управления системой, отдел: Панель администратора >> Редактор
2. В файле конфигураций правил преобразований ЧПУ на серверном уровне: .htaccess
После:
Добавьте следующую запись:
Заместо: slaed укажите своё имя домена.
Заместо: net укажите своё окончание домена.
Для работы данного метода, сервер Вашего хостера должен поддерживать работу с .htaccess, Mod Rewrite должен быть установлен и активирован.
Система была задумана как безопасная, скоростная, функциональная, гибкая в использовании, а главное простая для понимания рядовых пользователей с начальным уровнем знаний. Основные замыслы, которые были реализованы в системе, это снижение нагрузки на базу данных и сервер, повышение функциональности и безопасности, удобство управления и работы с системой, интуитивно понятный интерфейс, простота в использовании и расширении, то есть написании своих тем оформления, блоков, модулей и дополнений. Таким образом, система предназначена для максимально широкого спектра использования и предоставляет возможность построения на своей основе любого сайта, начиная от персональной странички или презентации компании и заканчивая мощными, высоко посещаемыми порталами.
Open SLAED является гибкой, мощной и интуитивно понятной системой с минимальными требованиями к хостингу, высоким уровнем защиты и является превосходным выбором для построения сайта любой степени сложности - от обычной домашней странички с сотней посещений в день до корпоративного портала со встроенным магазином и форумом, способного принимать десятки тысяч посетителей в сутки.
Панель администратора
Администраторы, Блоки и баннеры, Категории, Комментарии, База данных, Редактор, Дополнительные поля, Группы, Языки, Сообщения, Модули, Рейтинги, RSS каналы, Безопасность, Конфигурации, Файловый редактор, Пользователи.
Системные модули
Обратная связь, Содержание, Каталог файлов, Новости, Опросы, Личный отдел пользователя, Резервное копирование базы данных, RSS Информер, Рекомендовать сайт, Поиск по сайту, Редактор TinyMCE, Редактор Spaw 2, Редактор FCKeditor, Топ пользователи.
Интеграция с форумами
Общая регистрация и авторизация с самыми популярными и актуальными на сегодняшний день форумами: Invision Power Board, phpBB, vBulletin, SMF.
Инструкция по установке и обновлению системы находится в директории архива: doc/
Для установки системы на своём персональном компьютере мы рекомендуем: VertrigoServ
Карта сайта с админкой и настройками. Работает практически с любыми кустарными модулями! Имеет трехуровневую глубину показа в виде дерева. Исправлены недочеты и мелкие баги! Теперь показывает содержимое модуля Pages из корневой категории. Пример работы модуля здесь - www.markprior.ru
Карта сайта с админкой и настройками. Работает практически с любыми кустарными модулями! Имеет трехуровневую глубину показа. Не забодьте загрузить в базу таблицу из файла slaed_map.sql.zip! Пример работы модуля здесь - www.markprior.ru
Редактор является модулем, написанным на DHTML/JavaScript, позволяющим редактировать HTML-страницы. Компонент имеет стандартные функции редактора HTML и функции перевода латинского текста в русский. Также есть возможность переключения в режим редактирования исходного кода. Редактор может использоваться в системе Web-интерфейса электронной почты для обеспечения возможности написания почтовых сообщений в виде HTML, или в системе управления содержимым Web-сайта для редактирования новостей и других отделов.
Компонент привязывается к элементу ввода формы, из которого получает содержимое при загрузке и сохраняет содержимое при отсылке формы. Таким образом, со стороны сервера не существует разницы, был ли текст отредактирован в обычном текстовом поле, либо в рассматриваемом компоненте. При желании вы можете использовать несколько редакторов, каждый из которых привязан к своему элементу ввода, в одной или разных формах.
Конвертер транслита работает практически под любым браузером и операционной системой, которые на базовом уровне поддерживают работу с кириллицей. Принцип транслита прост, нажимая клавиши с латинскими буквами, Вы получаете кириллицу. В конвертер встроены различные варианты перевода, с автоматической и ручной поддержкой. Существуют функции игнорирования HTML и BBCode тегов, а так же кнопки ввода, копирования и удаления текста.
Пришло время выхода в свет, новой версии системы SLAED CMS 3.1 Pro. Не смотря на то, что в третьей версии был переписан почти весь функционал ядра и модули, система показала себя с лучшей стороны и зарекомендовала себя стабильной и безопасной работой. Идя дальше по пути улучшения функционала и удобства использования, мы постарались учесть основные потребности большинства клиентов возникшие при использовании 3 Pro и реализовали их в данной версии. С учётом запросов клиентов, были внесены некоторые, на мой взгляд, положительные изменения связанные с приобретением системы и её обновлением. Более детальную информацию касательно изменений и нововведений Вы можете получить при подробном просмотре.
Общие изменения, новые возможности
1. Произведена смена подключения верхней и нижней функций, используемых для отображения информации в модулях системы. Таким образом, увеличена скорость работы и универсальность. При этом функциональность старых модулей в системе осталась без изменений.
2. Упрощена регистрация новых пользователей в модуле Account. Добавлены дополнительные возможности конфигураций, такие как: Активировать регистрацию новых пользователей, требовать подтверждение правил при регистрации пользователей, добавление правил при регистрации пользователей.
3. Произведены доработки компонентов оформления системы, удалены более не используемые участки кода в файле style.css.
4. Написан новый центральный блок для отображения информации из медиа каталога.
5. Переписан код счётчиков посещённых страниц и уникальных посетителей сайта. Таким образом, гарантируется 100% обнуление статистики один раз в сутки.
6. Кардинальным изменениям подверглась функция установки сессий и слежения за действиями посетителей, пользователей и администраторов проекта. Добавлена возможность отслеживания поисковых системы и их действий на проекте.
7. Переписан блок пользователя, добавлена возможность наблюдения за поисковыми системами находящимся на проекта. Данную функцию можно отключить в конфигурациях системы.
8. Переписан блок администратора для наблюдения за посетителями проекта. В данном блоке используется технология AJAX для более удобного использования, что даёт возможность сворачивания блока или развёртывания в зависимости от контингента посетителей.
9. В конфигурациях система добавлена возможность установки критериев для отслеживания поисковых ботов, а так же других посетителей по параметру user-agent
10. Откорректированы языковые константы в при добавлении категорий в панели администратора системы.
11. Изменено подключение файла старых функций, которые могут быть необходимы старым модулям системы. До этого были возможны ошибки на OS Solaris.
12. Sypex Dumper Lite для резервного копирования и восстановления базы данных обновлён до актуальной версии.
13. Исправлена установка стандартного языка системы по умолчанию, исключён ошибочный выбор всех языков, что в некоторых случаях сказывалось на некорректную работу некоторых модулей системы.
14. HTML Редактор TinyMCE обновлён до актуальной версии.
15. Произведены изменения в систему оформления тем, таким образом, теперь возможно размещение кода, как правило, счётчиков и яваскриптов с использованием одинарных кавычек.
16. Произведена полная интеграция HTML Редактора TinyMCE в панель администратора системы. Вам предоставляется выбор использования HTML или BB редактора. Настройки в конфигурациях панели администратора системы.
17. Установлена возможность отключения смайлов, а так же переключения на сокращённый и полный режимы при использовании BB редактора, как в панели администратора, так и в пользовательской части системы. Установка непосредственно в конфигурациях системы.
18. Добавлена возможность смены логотипа сайта при помощи выбора из существующих логотипов содержащихся в директории, выбор производится с возможностью непосредственного просмотра, с использованием технологии AJAX.
19. Добавлена новая строка идентификационного номера пользователя в таблицу базы данных комментариев системы. Таким образом, имя пользователя определяется по его уникальному идентификационному номеру, что даёт возможность беспроблемной смены имени пользователя.
20. Изменён принцип подключения скриптов, которые использовались как компоненты AJAX, таким образом, улучшена их универсальность и безопасность в использовании.
21. Написана новая функция, дающая возможность непосредственного перехода к комментарию и его просмотру. Эта возможность установлена в панели администрации комментариев, а так же при просмотре информации зарегистрированного пользователя проекта и его комментариев.
22. Написана новая функция генерации ссылки на персональную информацию пользователя, что даёт возможность её использования, во всей системе экономя количество кода и улучшая функциональность.
23. Частично переписан пользовательский модуль, улучшена его функциональность, исправлен ряд неточностей, добавлена возможность просмотра своей персональной информации.
24. Установлена возможность отключения сессий посетителей, которая значительным образом снижает нагрузку на базу данных и ускоряет процесс работы системы. Данная возможность подходит тем проектам, которые не отслеживают действия посетителей проекта, поисковых ботов, зарегистрированных пользователей и администраторов.
25. Модифицирован модуль обратной связи, добавлена возможность включения и отключения связи с другими администраторами проекта. Добавлена возможность указания персональной контактной информации. Смена параметров возможна из панели администратора системы.
26. Модифицирован модуль автоматического обмена ссылками. Улучшено использование в нём как BB, так и HTML редактора в пользовательской и административной части.
27. Произведено удаление системы сообщений на сайте со стороны пользователей проекта в виду её не востребовонности. Таки образом снижена нагрузка на базу данных системы.
28. Произведена адоптация административной части системы для использования BB или HTML редактора в переменном режиме. Частично переписаны функции фильтрации и отображения вводимого и выводимого содержания.
29. Для повышения удобства запуска произведена смена вызова автоматического инсталлятора системы.
30. Для улучшения функционала удалены файлы rating.php и shop.php. Функции работы AJAX компонентов перенесены в основное ядро системы.
Изменения, связанные с приобретением системы
Начиная с версии SLAED CMS 3.1 Pro система будет, распространятся в единственном варианте, в отличие от прежних трёх (Bronze, Silver, Gold). Причиной этому послужили частые вопросы клиентов и их желание иметь постоянное обновление и актуальную версию системы, возможность использования на нескольких доменах.
Идя на встречу клиентам, было принято решение не только оставить основные услуги, предлагаемые в варианте лицензии Silver, но и улучшить их.
Условия использования приобретённых до этого версий системы останутся без изменений.
Приобретая новую версию клиент получает
1. Год бесплатного обновления системы, это значит, что Вы в течение всего года будете получать новую версию системы, Ваш сайт будет, находится на актуальном уровне.
2. Год технической поддержки оказываемой на форуме проекта в отделе для клиентов.
3. Использовать одну версию системы на трёх доменах, таких как: localhost и два дополнительных домена на Ваше усмотрение.
4. Вы будете иметь возможность загрузки актуальной версии системы непосредственно с нашего проекта, в специальном отделе для клиентов, неограниченное количество раз.
5. Вы будете иметь возможность персональной генерации Вашей лицензии на использование системы. Лицензия будет генерироваться для Ваших доменов в автоматическом режиме, в отделе для клиентов, количество генераций не ограниченно.
Изменения связанные с Zend Optimizer
1. Оптимизации Zend подвергнут всего один файл ядра системы и один файл автоматического установщика системы.
2. Все необходимые функции, в которых по желанию клиентов, имеет смысл внесения изменений, распространяются в открытом виде.
3. Не смотря на то, что версия SLAED CMS 3 Pro, в некоторых случаях работала на серверах с установленным Zend Optimizer 2.6, версия системы SLAED CMS 3.1 Pro в обязательном порядке потребует установленного на сервере Zend Optimizer 3 или выше.
Стоимость новой версии со всеми новыми возможностями будет составлять 150 €. Приобрести систему можно с 15.03.2007 в магазине нашего проекта.
Вышла новая версия широко применяемого локального сервера предназначенного для установки, использования, написания и отладки скриптов на своём персональном компьютере. XAMPP - это очень простой в установке дистрибутив Apache для систем Linux, Solaris и Windows. Программа содержит в себе все известные программные пакеты, которые используются на сервере и удовлетворят спрос и потребности как опытных, так и начинающих разработчиков, программистов и дизайнеров. Подробная информация о содержании дистрибутива в подробном просмотре.
Основными отличиями данного пакета от других ему подобных являются
1. Простота в установке, даже для начинающих.
2. Большой пакет программ, их актуальность.
3. Мультиязычьность проекта разработчиков.
4. Многолетний опыт разработки и тестирования пакета.
5. Поддержка программы и проекта на актуальном уровне.
В стандартный пакет данной версии вошли
Apache HTTPD 2.2.4, MySQL 5.0.33, PHP 5.2.1 + 4.4.5 + PEAR + Switch, MiniPerl 5.8.7, Openssl 0.9.8d, PHPMyAdmin 2.9.2, XAMPP Control Panel 2.4, Webalizer 2.01-10, Mercury Mail Transport System for Win32 und NetWare Systems v4.01a, FileZilla FTP Server 0.9.22, SQLite 2.8.15, ADODB 4.93a, Zend Optimizer 3.2.2, XAMPP Security for Windows 98, 2000, XP.
В связи с участившимися вопросами на форуме проекта связанными с безопасностью системы считаю необходимым прояснить ситуацию и разъяснить нашим пользователям основные нюансы. Как уже писалось в анонсе версии SLAED CMS 2.1 Lite и 2 Pro, система отличается от своих предшественников повышенной безопасностью панели администратора. Даже в случае получения Cookies администратора, то есть его "Хеша" пароля и логина в зашифровонном виде, злоумышленник не сможет войти в панель администрации. На это есть ряд причин с которыми можно ознакомится при подробном просмотре.
Дополнительная защита администратора
Сохраняется последний сеанс администратора, его IP адрес в базе данных системы. Если он не совпадает, что произойдёт в случае украденных Cookies, то система потребует авторезироваться заново. Это значит что злоумышленник, не зная пароля и логина в расшифровонном виде, не сможет войти и получить доступ в панель управления.
Метод шифрования паролей, который используется в системе, является одним из самым безопасных и оптимальных на сегодняшний день. Метод называется MD 5 и является алгоритмом, который не имеет возможности расшифровки и предназначит для зашифровки информации в одну сторону без возможности её расшифровки.
Дополнительная защита пользователя
То же самое как на примере с администратором, происходит с зарегистрированными пользователями системы. За исключением того, что для пользователей можно отключить принуждение повторной авторизации в случае смены IP адреса, со дня последней авторизации пользователя в системе. Данные настройки можно изменит в отделе пользователей панели управления системой.
Ко всему этому, в системе существует возможность смены названия Cookies администраторов и пользователей, которая исключает возможность определения их принадлежности при посещения вами или вашими пользователями сайтов, где установлены скрипты-шпионы.
Общая информация о защите системы
Если вы внимательно читали рекомендации по безопасности, то сменили название файла администратора, а это значит, не зная его названия, злоумышленник даже не сможет попытаться войти в панель администрации.
Если вы внимательно читали рекомендации по безопасности, то установили доступ в систему безопасности только по определённому IP адресу, что исключает доступ злоумышленника. Узнать IP адрес администратора, а тем более подделать его почти не реально.
Если вы внимательно читали рекомендации по безопасности, то установили дополнительные пароль и логин в панель администратора системы которые защищают вас и ваш проект на серверном уровне. Этот метод паролирования директорий является одним из самых оптимальных на данный момент.
Ну и наконец, сама система безопасности защищает ваш сайт от любого рода SQL инъекций, XSS инъекций, загрузки файлов, проникновение через Cookies которые могут быть выполнены со стороны злоумышленника.
Начиная с версии 2 Pro и 2.1 Lite система исключает возможность использования HTML кода на стороне клиента и таким образом исключает все возможные попытки интеграции и внедрения нежелательного кода, инъекций, шпионов в систему.
В системе учтены все возможные и известные на сегодняшний день виды возможных атак, и приняты меры по их предотвращению.
Боле подробную информацию по упомянутым Выше темам можно получить по указанным ниже ссылкам.
При помощи утилиты Site-Auditor Вы сможете быстро собрать данные, необходимые для оценки видимости сайта в Рунете. Одним кликом Вы получите все необходимые данные из основных поисковых сервисов, используемых в российском сегменте Интернета, а именно: Яндекс, Рамблер, Апорт, а также в наиболее популярных международных сервисах Google и Yahoo. В данный момент система определяет наличие, наиболее популярных счетчиков статистики.
Экспресс-анализ
В разделе "Экспресс-Анализ" Вы можете собрать основные данные о текущем уровне оптимизации сайта.
Проведение исследования выполняется следующим образом. В верхней части окна программы находится поле http://, в которе Вам нужно ввести адрес исследуемого сайта. По нажатию кнопки "Проверить" программа производит сбор данных.
С помощью программы Вы можете получить следующую информацию об анализируемом сайте:
Индексы цитирования Яндекса - ТИЦ и Google - PageRank;
Количество страниц, проиндексированных поисковыми системами Яндекс, Рамблер, Google, Апорт и Yahoo.
Количество ссылок на сайт, обнаруженных поисковыми системами Google, Яндекс, Yahoo.
Данные о наличии сайта в каталогах Яндекс, Рамблер Top100, Апорт и DMOZ.
Если на сайте будут обнаружены счетчик Рамблер Top100, утилита соберет данные о количестве посетителей и просмотренных страниц за последние 7 дней.
Если будут обнаружены счетчики статистических систем Top.Mail.ru, LiveInternet (Rax), SpyLog, HotLog, то будут даны ссылки на страницы этих поисковых систем.
Одновременно со сбором данных производится анализ титульной страницы сайта на наличие на странице тегов и блоков информации.
Вы уже, наверное, в курсе, что группа разработчиков ядра 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.
Для разных людей термин "веб-стандарты" означает разные вещи. Для некоторых это просто "страницы без таблиц", для других - "правильный код". Однако веб-стандарты это нечто намного большее. Сайт, простроенный по веб-стандартам, это сайт, который придерживается стандартов (HTML, XHTML, XML, CSS, XSLT, DOM, MathML, SVG и т.д.) и лучших отработанных решений (валидный код, доступный код, семантически правильный код).
Указан ли у страниц правильный Doctype?
Doctype (сокращенно от 'document type declaration' - "декларация типа документа") сообщает валидатору, какая версия (X)HTML используется в вашей странице. Декларация должна присутствовать в начале каждой веб-страницы. Doctype - ключевой компонент страницы, претендующей на соответствие стандартам: ваша разметка и CSS не пройдут валидацию, если в вашем документе отсутствует Doctype.
Указан ли у страниц кодировка (charset)?
Если пользовательский агент (например браузер) не может самостоятельно определить кодировку вашей веб-страницы, пользователи увидят на экране нечитаемый текст. Эта информация в особенности важна для тех, кто создает и поддерживает многоязычные веб-сайты. Но вообще объявление кодировки очень важно для тех, кто создает страницы в XHTML/HTML и CSS.
Валиден ли (X)HTML код страниц сайта?
Валидный код браузер выведет быстрее, чем невалидный. Валидный код браузер выведет лучше, чем невалидный. Все больше и больше браузеры подчиняются стандартам, и потому все более важным является валидный и стандартный HTML-код.
Валидны ли CSS-таблицы сайта?
Не забывайте убедиться, что ваш HTML-код и CSS-страницы не содержат ошибок, так как ошибки приведут к искаженному отображению документа на экране.
Использует ли сайт какие-либо CSS-хаки?
В сущности каждый сам решает, какие хаки ему использовать. Это зависит от того, насколько хорошо вы знакомы со всеми вариантами, и от того, какой дизайн вы хотите создать.
Используются ли на сайте какие-либо лишние и ненужные классы (class) и идентификаторы (id)?
Я заметил, что разработчики, осваивая новые приемы и технологии, часто создают замечательные CSS-таблицы, и при этом - плохой XHTML-код. В особенности часто в XHTML-коде встречаются ненужные и лишние "div" и "id". Из-за этого HTML-код теряет стройность, а CSS-файлы становятся запутанными.
Хорошо ли структурирован код страниц?
Семантически правильная разметка подразумевает использование html-элементов по их прямому назначению. Хорошо структурированный HTML-документ хорошо воспринимается всем спектром пользовательских программ (браузерами без поддержки стилевых таблиц, текстовыми броузерами, наладонниками, поисковыми роботами и т.д.)
Есть ли на сайте "сломанные" ссылки?
"Сломанные" ссылки разочаровывают пользователей и потенциально отвращают от вашего сайта ваших клиентов. "Сломанные" ссылки могут также сказаться на том, как поисковые роботы будут индексировать ваш сайт.
Как у сайта со скоростью загрузки страниц и с их размерами?
Не заставляйте меня ждать... Вот какую мысль подразумевают пользователи при проведении всех исследований. Даже пользователи с широким каналом устают от медленной загрузки.
Выдает ли браузер какие-либо ошибки JavaScript при работе со страницей?
Internet Explorer для Windows позволяет включить отладчик, который будет выскакивать на экран всякий раз, когда на странице будет обнаружена ошибка в JavaScript. Эта опция находится в меню "Internet Options" на закладке "Advanced". Уберите галочку с пункта "Disable script debugging".
Используется ли на сайте CSS для всех аспектов оформления страницы?
Используйте стилевые таблицы для управления компоновкой страницы и ее внешним видом.
Перенесены ли вся декоративная графика в CSS, или она все еще встречается в (X)HTML-коде?
Ваша цель, как веб-разработчика, состоит в том, чтобы убрать из html-кода вашей страницы все оформительские элементы. Благодаря чему код станет чище и семантически правильнее.
Используется ли атрибут "alt" во всех значимых изображениях?
Каждый нетекстовый элемент сопровождайте текстовым описанием.
Используется ли на сайте для шрифта относительные единицы измерения вместо фиксированных?
В коде и в стилевых таблицах используйте относительные, а не абсолютные единицы для указания размеров элементов.
Ломается ли каким-либо образом компоновка страницы при увеличении размера шрифта?
Проведите простой тест. Откройте свой веб-сайт в любом браузере, где есть функция изменения размера шрифта. Теперь увеличьте размер шрифта. Еще раз увеличьте. И еще раз... Посмотрите на свой веб-сайт. По-прежнему ли компоновка страницы осталась неизменной? При разработке сайта не рассчитывайте, что у посетителя в браузере размер шрифта совпадает с вашим.
Используются ли на сайте доступные формы?
Формы на веб-страницах не самая простая вещь для людей с физическими недостатками. Одно дело - навигация по странице с текстовым материалом, и совсем другое - переход по полям формы и ввод информации в нее.
Используются ли на сайте доступные таблицы?
Что касается таблиц. Не забудьте указать заголовки для столбцов и рядов... Для таблиц, где имеются два и более логических уровней рядов и столбцов, воспользуйтесь вспомогательными элементами языка html, чтобы связать логически ячейки данных с ячейками заголовков.
Достаточно ли контрастны и ярки цвета на страницах сайта?
Убедитесь, что разница между цветом фона и цветом текста достаточно контрастна, чтобы не вызывать затруднений при чтении у людей с пониженным восприятием цвета.
Используется ли только цвет для выделения критической информации?
Убедитесь, что вся важная информация, выделенная цветом, также выделена при отсутствии цвета, например с помощью контекста или элементами логической разметки.
Используется ли задержка в выпадающих меню (для пользователей с медленной моторикой)?
У людей с медленной моторикой могут возникнуть трудности при работе с меню, которые для них будут работать слишком быстро.
Все ли ссылки содержат достаточно описательный текст (для слепых пользователей)?
Ссылки должны быть достаточно понятными, чтобы они имели смысл при чтении вне контекста - либо при простом чтении или при чтении в виде списка.
Достаточно ли хорошо сайт работает и в современных и в старых браузерах?
Прежде чем начинать верстать страницы с использованием CSS, определитесь, какие браузеры вы собираетесь поддерживать и до какой степени.
Можно ли работать с материалами сайта при отключенном CSS?
На ваш сайт могут зайти люди, у которых браузер не поддерживает CSS или поддержка CSS отключена. Если ваши страницы правильно структурированы, у таких посетителей не возникнет никаких проблем при работе с ними.
Можно ли работать с материалами сайта при отключенных изображениях?
Некоторые пользователи просматривают веб-сайты не загружая графические элементы страниц. Так поступают в особенности те, у которых подключение к Интернету слишком медленное. Ваши страницы не должны вызывать затруднений в работе у таких посетителей.
Работает ли сайт в текстовых броузерах, таких как Lynx?
Текстовый браузер это как бы комбинация отключенных графики и CSS. Текстовые браузеры полагаются целиком на структуру документа при создании изображения на экране.
Хорошо ли выглядит сайт при распечатке?
К любому (X)HTML-документу можно прикрепить стиль для вывода на печать и для этого не потребуется трогать разметку самого документа.
Хорошо ли работает ли сайт на наладонных устройствах?
Этот момент вызывает наибольшие затруднения, так как в настоящее время нет единообразия в том, как наладонные устройства поддерживают веб-страницы. Однако некоторые решения в компоновке страниц поддерживаются на наладонниках лучше, чем другие. Поддержка наладонных устройств зависит от целевой аудитории вашего сайта.
Работает ли сайт в окнах различных размеров?
Среди веб-разработчиков бытует устойчивое убеждение, что с каждым годом средние размеры экрана у посетителей растут. Некоторые разработчики убеждены, что средний размер экрана у посетителей их сайтов составляет по ширине 1024 пикселей. Ну а что насчет пользователей с меньшими размерами экранов или с владельцами наладонников? Являются ли они частью вашей целевой аудитории, и будут ли они испытывать затруднения при работе с вашим сайтом?
Имеется ли на странице четкая визуальная иерархия элементов?
Организуйте и выделяйте важность того или иного материала с помощью размеров, отступов и логических связей.
Легко ли отличить один уровень заголовков от другого?
Используйте заголовки для того, чтобы раскрыть структуру документов, при этом используйте их в соответствие со спецификацией.
Достаточно ли легко понять навигацию по сайту?
Навигация вашего сайта должна подсказывать посетителю, на какой странице сайта он сейчас находится и куда он может следовать дальше.
Используется ли однообразная навигация на всех страницах сайта?
Если на каждой странице вашего сайта навигация придерживается одного и того же стиля, посетителям легче будет работать с сайтом и они быстрее будут находить нужную им информацию.
Используется ли на сайте приемлемый и однообразный язык текстов?
Ясный и простой язык материалов позволяет эффективно вести диалог с посетителем. Не забывайте, что ваш сайт могут читать пользователи, для которых ваш язык не является родным.
Есть ли у сайта карта и страница с контактной информацией? Легко ли их найти?
Большинству карт сайтов не удается раскрыть многоуровневую структуру архитектуры сайта. В тестах на юзабилити пользователи часто игнорируют карту сайта или просто не могут ее найти. Сложность карты также является проблемой: карта должна быть именно картой, а не головоломкой по навигации.
Если ваш сайт очень большой, есть ли на нем инструмент поиска?
Для маленького сайта функция поиска не особенно нужна. Всегда найдутся люди, которые никогда не пользуются поиском по сайту. Тем не менее функция поиска является дополнительным хорошим инструментом навигации по сайту для посетителей.
Присутствует ли на каждой странице сайта ссылка на его главную страницу?
Многие пользователи зарывшись в глубины сайта хотят быстро попасть на его главную страницу. Главная страница является как бы отправной точкой для таких пользователей, на которой они заново собираются с силами, чтобы нырнуть в новые глубины сайта.
Подчеркнуты ли ссылки?
Для полноты восприятия пользователями ссылок текст ссылок должен быть оформлен другим цветом или подчеркнут. Посетители не должны метаться по странице в поисках ссылки.
Четко ли выделены цветом ссылки, которые пользователь уже посетил?
Самое главное, если четкое выделены ссылки, которые пользователь уже посетил, он не нажмет на них случайно, и не будет попадать на ту же самую страницу, где уже побывал.
Есть ли у сайта понятная и полезная страница ошибки 404, которая работает с любого уровня сайта?
Вы запросили страницу - либо набрав URL в адресной строке, либо щелкнув по ссылке - и обнаружили, что провалились в Ничто. Дружественные к пользователю веб-сайты подадут руку помощи потерявшемуся пользователю, а другие сайты будут рассчитывать на то, что браузер пользователь сам их как-нибудь вытащит из бездны киберпространства.
Можно ли к вашему сайту доступиться, набрав адрес без "www"?
В целом не очень критичное требование, а иногда его даже невозможно удовлетворить. Но тем не менее всегда неплохо, если у ваших посетителей есть такая возможность. Если посетитель наберет название вашего сайта без "www" и не сможет до него доступиться, это будет плохо и для вас и для него.
Есть ли у сайта пиктограмма для закладок?
Пиктограмма для закладок (favicon) это графический файл с картинкой в нескольких разрешениях. Они как правило используются на всех профессионально выполненных сайтах. Пиктограмма для закладок дает веб-мастеру еще один способ рекламы сайта. Разумеется, пиктограмма для закладок не является критичной. Однако ее отсутствие порождает волну ошибок 404 в ваших лог-файлах. Такие браузеры как IE всегда запрашивают у сервера эту пиктограмму, когда пользователь помещает ссылку на ваш сайт в закладки. Если на вашем сайте этой пиктограммы нет, в логи попадет ошибка "404 File not found". Так что наличие такой пиктограммы поможет вам значительно сократить размер файла ошибок. То же самое относится и к файлу "robots.txt".