Как создавать крутые веб-приложения с защитой данных?

В общем, задал себе задачку при выборе дипломной - создать веб-приложение "Календарь-туду лист" с защитой пользовательских данных, но наткнулся на проблему, что я не могу даже приблизительное ТЗ самому себе составить. Знаю PHP на уровне "С + HTML = магия", JS на уровне jQuery, AJAX на уровне "пацанам в падике залечить, типа умный". Работал Битрикс-проггером, сами понимаете...
Нет, все это конечно преуменьшение, в целом я понимаю, что и куда нужно прикрутить, чтобы получился знатный профит, но во многих случаях не понимаю, как это прикручивать. Ну и вот сам вопрос, точнее вопросы:

1. Если кто-нибудь сталкивался с защитой инфы в веб-приложениях, поделитесь ссылочками - как шифрация-дешифрация данных реализуется на стороне сервера и клиента, если клиент использует браузер.

2. Какую базу данных юзать? Вопрос глупый, но работал я только с инфоблоками битрикс, да MySQL изучал немножечко. Может настало время изучить что-то новое?

3. Собственно, само веб-приложение. Как оно строится, с чего начинать, чем заканчивать? Может был опыт у кого, может им кто-то уже делился на хабре.

Гуглом я пользоваться умею, но боюсь, что наткнусь на некачественные, устаревшие или сильно замудренные статейки, и только усугублю ситуацию. Заранее благодарю.
  • Вопрос задан
  • 3041 просмотр
Решения вопроса 1
keksmen
@keksmen
Just a programmer
1. Любые библиотеки, реализующие уже составленные стандарты шифрования.
На вопрос "почему не написать свой алгоритм?" за ответом направляю суда.
Стоит помнить, что ключ должны знать и клиент и сервер. По этому поводу следует проследовать вот суда.

2. Если решились использовать именно PHP, то уверенно советую запускать БД в виде сервера (пусть даже локального). Для небольшого проекта подойдёт абсолютно любая, пусть даже NoSQL БД.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
index0h
@index0h
PHP, Golang. https://github.com/index0h
1. Если кто-нибудь сталкивался с защитой инфы в веб-приложениях, поделитесь ссылочками - как шифрация-дешифрация данных реализуется на стороне сервера и клиента, если клиент использует браузер.

Настройка https в nginx
nginx.org/ru/docs/http/configuring_https_servers.html

2. Какую базу данных юзать? Вопрос глупый, но работал я только с инфоблоками битрикс, да MySQL изучал немножечко. Может настало время изучить что-то новое?

Шифрование MySQL
dev.mysql.com/doc/refman/5.5/en/encryption-functio...

3. Собственно, само веб-приложение. Как оно строится, с чего начинать, чем заканчивать? Может был опыт у кого, может им кто-то уже делился на хабре.

Котеров PHP5 В подленнике

------

Судя по формулировке вопроса знаний вообще не ахти, перед тем, как создавать сикьюрное приложение - попробуй хоть какое-то создать))
Ответ написан
@Alex_mc
Веселый препод :)
1. Сам ищу решение.
2. Я свое приложение писал на PHP и MySQL. Можно и другим способом (JAVA, ASP и т.д.). Почитайте о json.
3. Суть проста, по пунктам :
Серверная часть. Пишите приложение как обычный сайт. Взаимодействие кода с базой данных и вывод на экран браузера, Затем создаете API. те же страницы только вывод уже не в обычном формате а в формате json.
Клиент. Написан на JS (можно и PHP) подключается через AJAX к серверной части, получает и обрабатывает json. После обработки отображает в окне браузера или апликации.
Я разделил на 2 сервера, но можно и на одном.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
просто: HTTPS
правильно: CRAM-MD5/HMAC (википедия)
библиотеки для реализации на js - все есть в открытом доступе.
Ответ написан
Комментировать
Neuroware
@Neuroware
Программист в свободное от работы время
Прежде чем писать приложения\делать сайт, нужно сначала определиться что именно это за приложение и какие именно данные в нем нужно защищать, затем имея уже подобие контекста можно думать о структуре\архитектуре, выбирать БД и т.п. Для абстрактного коня в вакууме подобные вопросы не имеет смысла. Для каждой задачи свои инструменты и если использовать неправильные на позднем этапе проекта в поймете, что забивать шурупы молотком плохая идея и придется все переделывать. Поэтому сначала определитесь, что именно вы хоте создать.
И по сути вопроса, чем ниже уровень абстракции в разработке и ниже уровень программиста, тем большая вероятность наделать дыр, которые могут использоваться во вред сайту\приложению, поэтому создавать приложение на html\js\php и подобном без опыта это равносильно тому, что вы просто расшарите свои данные в общем доступе.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы