3)
3.0 - расширение ядра доп. модулями
4.0 - новый движок zend engine,улучшилось производительность, поддержка сессий, буферизация вывода, более
безопасная обработка вводимой юзером данных
5.0 - обновилось zend engine 2. Увеличился производительность, язык разметки xml, переработана ооп.
5.3.x помечены как более не используемые (deprecated) следующие функции:
call_user_method() - используйте вместо нее функцию call_user_func()
call_user_method_array() - используйте вместо нее функцию call_user_func_array()
define_syslog_variables()
dl()
Все, что связанно с регулярными выражениями с использованием функций ereg() разработчики
посчитали устаревшим функционалом, и к тому же данные функции работают очень медленно, поэтому вместо
них предлагается использовать аналогичные фукнции preg(). Соответственно следующие функции более не
используются:
o ereg() - впредь используйте preg_match()
o ereg_replace() - впредь используйте preg_replace()
o eregi() - впредь используйте preg_match() с модификатором 'i'
o eregi_replace() - впредь используйте preg_replace() с модификатором 'i'
o split() - впредь используйте preg_split()
o spliti() - впредь используйте preg_split() с модификатором 'i'
* set_magic_quotes_runtime() и ее синоним magic_quotes_runtime()
* session_register() - используйте суперглобальный массив $_SESSION
* session_unregister() - используйте суперглобальный массив $_SESSION
* session_is_registered() - используйте суперглобальный массив $_SESSION
* set_socket_blocking() - впредь используйте stream_set_blocking()
* sql_regcase()
* mysql_db_query() - впредь используйте mysql_select_db() и mysql_query()
* mysql_escape_string() - впредь используйте mysql_real_escape_string()
* Так же больше не используются следующие возможности:
o Передача в переменную параметра по ссылке в new
o Вызов call-time (функцииб методы классов) по ссылке
o Использование {} для указания смещения внутри строки. Обращайтесь к строке как к массиву,
используя []
XSS — тип уязвимости интерактивных информационных систем в вебе. XSS возникает, когда в генерируемые
сервером страницы по какой-то причине
попадают пользовательские скрипты.
Условно XSS можно разделить на активные и пассивные:
Пассивные XSS подразумевают, что скрипт не хранится на сервере уязвимого сайта, либо он не может
автоматически выполниться в браузере жертвы.
Например: провоцируем пользователя запустить URL http://example.com/search.php?q=porn%3Cscript
%3EDoSomething();%3C%2Fscript%3E.
Будет исполнен скрипт <script>DoSomething();</script> — если, конечно, сервер не принял никаких мер по его
экранированию.
При активных XSS вредоносный скрипт хранится на сервере, и срабатывает в браузере жертвы при открытии
какой-либо страницы заражённого сайта.
Их также называют вторым типом XSS.
Активному скриптингу подвержены сайты так называемого «веб 2.0» — форумы, блоги, гостевые книги и
социальные сети.
Скриптинг через DOM
Отсутствие фильтрации HTML-тегов в сообщениях пользователей
если, например в комментариях, разрешается использовать нтмл теги и они не фильтруются
Отсутствие фильтрации атрибутов и их значений разрешённых тегов
если не фильтруются атрибуты для тегов. Например используем не url адрес для <img crc=''/> а
"url onclick='' onmouseout=''" и т.д.
Способ защиты:
1) использовать html_entities() или html_special_chars
MySQL 5.0 В этой версии значительно расширена функциональность, которая ставит MySQL в один ряд с
коммерческими СУБД.
* хранимые процедуры и функции;
* обработчики ошибок;
* курсоры;
* триггеры;
* представления;
* информационная схема (так называемый системный словарь, содержащий метаданные).
MySQL 5.1
* Сегментирование — возможность разбить одну большую таблицу на несколько частей.
* Изменено поведение ряда операторов, для обеспечения большей совместимости со стандартом SQL2003.
* Встроенный планировщик периодически запускаемых работ. По синтаксису добавление задачи похоже на
добавление триггера к таблице, по идеологии — на crontab.
* Дополнительный набор функций для обработки XML, реализация поддержки XPath.
* Новые средства диагностики проблем и утилиты для анализа производительности. Расширены возможности
по управлению содержимым лог-файлов.
* Для упрощения операции обновления подготовлена утилита mysql_upgrade, которая выполнит проверку всех
существующих таблиц на предмет совместимости с новой версией, и при необходимости выполнит надлежащие
корректировки.
* MySQL Cluster отныне выпущен как отдельный продукт, базирующийся на MySQL 5.1 и хранилище
NDBCLUSTER.
* Значительные изменения в работе MySQL Cluster, такие, как, например, возможность хранения табличных
анных на диске.
* Возврат к использованию встроенной библиотеки libmysqld, отсутствовавшей в MySQL 5.0.
* API для плагинов, которое позволяет загружать сторонние модули, расширяющие функциональность
(например, полнотекстовый поиск), без перезапуска сервера.
* Реализация парсера полнотекстового поиска в виде plug-in.
* Новый тип таблиц Maria (устойчивый к сбоям клон MyISAM).
Таблицы MyISAM прекрасно подходят для использования в WWW и других средах, где преобладают
запросы на чтение.
Таблицы типа MyISAM показывают хорошие результаты при выборках SELECT. Во многом это связано
с отсутствием поддержки транзакций и внешних ключей. Полнотекстовый поиск и RTREE индексы.
минусы - при модификации и добавлении записей вся таблица кратковременно блокируется(отсутствие
блокировок регионов, меньших, чем целые таблицы), это может привести к серьёзным задержкам при большой
загрузке,
отсутствие самовосстановления по журналу при сбоях,
Хранимая процедура — объект базы данных, представляющий собой набор SQL-инструкций, который
компилируется один раз и хранится на сервере.
Хранимые процедуры очень похожи на обыкновенные процедуры языков высокого уровня, у них могут
быть входные и выходные параметры и локальные переменные.Хранимые процедуры позволяют повысить
производительность.
Триггер — это хранимая процедура особого типа, которую пользователь не вызывает непосредственно,
а исполнение которой обусловлено наступлением определенного события (действием) — по сути добавлением
INSERT или удалением DELETE строки в заданной таблице, или модификации UPDATE данных в
определенном столбце заданной таблицы реляционной базы данных. Момент запуска триггера определяется с
помощью ключевых слов BEFORE или AFTER (после события).
Разобраться с SVN
Subversion — свободная централизованная система управления версиями, Данные хранятся в едином
хранилище.
Хранилище может располагаться на локальном диске или на сетевом сервере.
Клиенты копируют файлы из хранилища, создавая локальные рабочие копии, затем вносят изменения в рабочие
копии и фиксируют эти изменения в хранилище. Несколько клиентов могут одновременно обращаться к
хранилищу.
Для совместной работы над файлами в Subversion преимущественно используется модель Копирование —
Изменение — Слияние.
Кроме того, для файлов, не допускающих слияние (различные бинарные форматы файлов), можно использовать
модель Блокирование — Изменение — Разблокирование.
В svn используются транзакции. Т.е при конфликтных ситуациях(когда один файл меняют несколько клиенты и
при этом происходит конфликты) транзакции не выполняются.
Возможности
• Добавление (A). Добавление объекта в файловую систему. Добавленный объект не имеет истории
ревизий.
• Модификация (M). Модификация объекта, например, изменение содержимого файла или изменение
свойств файла или директории.
• Удаление (D). Удаление файла из головной и последующих ревизий. При этом файл остаётся в
предыдущих ревизиях.
• Добавление с историей (A+). Представляет собой копирование объекта внутри файловой системы
хранилища, то есть объект имя_источника@ревизия_источника копируется в имя_копии@HEAD.
Скопированный объект наследует от источника историю ревизий до момента копирования
(наследование истории показано на рисунке пунктирными связями).
• Замена (R+). Имеет место в случае, когда в одной ревизии произведено и удаление объекта (D), и
добавление с историей (A+) объекта с тем же самым именем. Хотя имя при операции замены остаётся
неизменным, Subversion рассматривает объект до и после замены как два различных объекта с
различными историями ревизий (история старого заканчивается в точке замены, история нового
наследуется от источника копирования и продолжается далее).
Всё программное обеспечение для работы с протоколом HTTP разделяется на три больших категории:
* Серверы как основные поставщики услуг хранения и обработки информации (обработка запросов).
* Клиенты — конечные потребители услуг сервера (отправка запроса).
* Прокси для выполнения транспортных служб.
Перезагрузка и выключение
shutdown -h now выключить систему
init 0 выключить систему
shutdown -r now перезагрузить систему
reboot перезагрузить систему
logout завершить сессию