«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2018/07/29 13:13:03  №1237274 1
Котаны, оцените тестовое и скажите, сколько джуну нужно времени на него в среднем, и можно ли реализовав это вообще смело проситься в джуны ?
Создание веб-приложения для регистрации и авторизации на php, html, css, js/jquery.

Форма регистрации:
1) Поля:
- login (unique)
- password
- confirm_password
- email (unique)
- name

2) Функционал:
После заполнения формы, уходит запрос на создание пользователя, поля проверяются на валидность (не пустые), уникальные поля проверяются на уникальность в БД, password и confirm_password сравниваются (должны быть одинаковыми). Если что-то не так - выдается ошибка.
В случае ошибки, возвращаем текст с ошибками.
В случае успеха шифруем пароль ("соль"+md5 или "соль"+sha1) и заносим данные в нашу базу.

Форма авторизации:
1) Поля:
- login
- password
2) Функционал:
После заполнения формы уходит запрос:
- проверяется наличие пользователя в бд;
- сверяется пароль.

В случае ошибки, возвращаем текст с ошибками.
В случае успеха происходит процесс авторизации (создание необходимых связей cookies + session + db). Обратите внимание, что в db тоже должна быть связь с сессией и cookies.

В случае авторизации мы должны видеть сообщение 'Hello [имя пользователя]', формы в таком случае не отображаем.
Внешний вид значения не имеет.

Основные требования:
- Вместо базы данных используем файл XML.
- Пароль не должен хранится в открытом виде.
- Связь авторизации - cookies + session + db (xml).
- Формы должны отрправляться используя технологию ajax, ответ в формате json.
- Если js отключён, то форма отправиться не может.
- Все поля форм - обязательные.
- Все формы реализуются через <form>.
- Результаты залить на github/bitbucket. Сделать репозиторий публичным. Ссылку прислать по почте.

Дополнительные требования
- защита от инъекций при получении параметров через get- или post;
- осмысленное название полей в бд;
- разумное оформление кода – имена переменных, функций, отступы, комментарии;
- код должен быть - прост в поддержке;
- отсутствие дублирование кода. копипаст – признак низкой культуры разработки;
- разделение логики работы и представления – некрасиво писать html и php вперемешку;
- css/js в отдельных файлах;
- осмысленное использование css.
Ответы: >>1237282 >>1237362 >>1237469
Аноним 2018/07/29 13:22:27  №1237282 2
>>1237274
Джун должен знать хотя бы один фреймворк и уметь создать самостоятельно приложение простое (уровня магазина или форума), а ты детские задачи даешь.
Аноним 2018/07/29 16:30:07  №1237362 3
>>1237274

Не хочу рекламировать свои же уроки, но если взять задачу про студентов из шапки, то там есть подробные комментарии, и многие из них подойдут и к этой задаче. Ну а про хеширование паролей есть урок на http://github.com/codedokode/pasta/

Аноним 2018/07/29 19:51:37  №1237469 4
>>1237274
Очень похоже на студентов.
Делал бы в течение полугода, бросал бы 3 рази и в итоге забил.