тестовое задание для вакансии PHP-разработчик в компанию X-Com
copy of "PHP тест.docx":
*Невыполненное до конца задание не будет являться причиной отказа. Если какое-либо задание показалось вам слишком сложным, постарайтесь выполнить его настолько, насколько сможете
Задание 1. Безопасность
На сайте решили добавить форму, чтобы обычные пользователи могли оставлять свои комментарии.
При этом, нужно разрешить использовать простейшие HTML теги: <b/i/u>, <ul>, <ol>, <img>, <a>, <hr>
.Проанализируйте и перечислите потенциальные проблемы в безопасности.
Напишите план алгоритма обработчика поля "комментарий", который бы обезопасил работу проекта.
Задание 2. SQL
Необходимо разработать структуру базы данных для каталога товаров. Используемая СУБД: MySQL. Условия задачи:
- Древовидная структура каталога.
- Товар привязан к одному узлу дерева.
- Товар имеет: название, артикул, изображение, признак типа товара (напр.: зонтик, телефон и т.д.) и текстовое описание. Изобразите схему структуры базы данных каталога товаров. Напишите примеры SQL запросов формирующие:
- Список товаров одной директории каталога.
- Список товаров одной директории каталога, включая все подкаталоги.
Задание 3. Код
Необходимо написать функцию, которая получает на вход массив и определяет уровень вложенности полученного массива.
В случае если массив содержит цикл, например, через ссылку, функция должна вернуть false..