|
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 11
|
|
Выбор инструментов для создания веб-интерфейса для доступа к базе данных24.02.2019, 16:03. Показов 14068. Ответов 18
Доброго времени суток.
Пролог: вопросы в конце, так как без предисловия и объяснения я их не мог задать корректно. Перейду сразу к сути, у меня летом защита диплома и тема диплома следующая: "Создание веб-интерфейса для доступа к базе данных". В общем мне необходимо создать что-то на подобии phpMyAdmin, но не такое сложное. И такое решение уже есть - Adminer. Поэтому мне пришлось в последнее время очень много читать информации по каждому решению, которые сейчас есть, чтобы более подробно разобраться в особенностях каждого решения и выделить для себя нужное. Я выделил следующие решения и выписал только их основные отличия на мой взгляд: Бесплатные, с открытым кодом: - Adminer Легковесный, поддерживает множество баз данных (MySQL, PostgreSQL, MS SQL, SQLite, Oracle). - phpLiteAdmin Самый легковесный, поддерживает только SQLite. - phpMyAdmin Поддерживает MySQL и MariaDB. Имеет огромный функционал для менеджмента баз данных. Самый распространенный и имеет огромное количество информации по настройке и доработке. - PgAdmin 4 Поддерживает только PostgreSQL и полноценно нацелен именно на эту базу данных. Написан на Python, в отличие от других решений, написанных на PHP. Может работать как кроссплатформенное приложение на рабочем столе, так и через браузер. Платные: - DaDaBIK; Интуитивное понятное и простое решение, но явно не для менеджмента именно баз данных, а больше как готовое решение для создания интерфейсов с нужным функционалом. То есть мы можем создать какое-то внутреннее приложение для компании, чтобы заносить в базу данных клиентов, но оно будет гораздо проще и только с нужными функциями для простых пользователей (добавить, ввести данные и отправить). Грубо говоря этакий графический фреймворк для создания приложения для доступа к базе данных, нацеленное на бизнес решения. Поддерживает множество баз данных за счет PDO. - Oracle Enterprise Manager Комплекс из инструментов для администрирования баз данных. Опять же больше для бизнес решений. Плюсов особо не нашел, так как очень сложно найти точную информацию в открытых источниках об этом решении. Выводы я сделал следующие: - Основной особенностью веб-интерфейса должна стать безопасность, так как легковесность при таких сроках разработки как ни крути будет сама по себе и огромного функционала вряд ли в такие сроки получится добиться. - Интерфейс должен быть современным и интуитивно понятным. - Должна быть реализована поддержка множества баз данных по средствам PDO. Вопросы из всего вышеперечисленного следующие: - Какой PHP фреймворк мне стоит выбрать для решения этой задачи, либо стоит ли вообще его использовать, возможно будет лучше делать все "from scratch"? Пока что я все же склоняюсь к написанию с нуля, но боюсь, что могу не успеть. С другой стороны, пока я буду изучать фрейморк, возможно уйдет столько же времени, сколько и при написании с нуля. - Для улучшения безопасности хочу использовать двухфакторную аутентификацию, поэтому желательно найти такое решение, которое предусматривает возможность интеграции такого механизма. Может быть кто-то знает о таких решениях? - Есть ли у вас какие-либо предложения / мысли по данной задаче? Для меня это важно, так как на данный момент полная путанница в голове из-за того, что я не могу определиться с решением. Буду рад, если вы мне сможете помочь в решении данных вопросов. Заранее спасибо.
0
|
|
| 24.02.2019, 16:03 | |
|
Ответы с готовыми решениями:
18
Какие нужны знания для создания веб-интерфейса для базы данных? Интерактивная анимация: выбор инструментов для создания |
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
| 24.02.2019, 16:42 | |
|
Веб интерфейс для доступа к бд - вещь бесполезная чуть более чем полностью. Держать и выполнять лишний код на сервере - только дополнительные ненужные затраты. И еще это очень неудобное решение: проблемы с экспортом/импортом данных из-за ограничений по максимальному размеру тела запроса и времени выполнения как на стороне веб сервера, так и php, невозможность единой транзакции на несколько запросов.
По поводу безопасности - самое безопасное это не открывать бд никаким способом. ssh тунель с авторизацией по ключу, и если захочется то и 2fa можно добавить. И получается что на сервере будет сама субд и ssh, на клиентской машине ssh клиент и нормальный бд клиент.
0
|
|
|
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 11
|
|
| 24.02.2019, 17:07 [ТС] | |
|
Jewbacabra, спасибо за ответ.
Тема предусматривает создание именно веб-интерфейса, поэтому не создавать его я не могу. Ваша идея меня надолкнула на мысль о том, что можно создать веб-интерфейс для доступа к серверу с субд по ssh. Однако тут есть свои минусы, так как пользователь во-первых получает доступ не только к субд, но и к самой машине (можно конечно настроить права и т.д.), а во-вторых это получится уже не веб-интерфейс, а просто веб-консоль для доступа к машине и пользователь не сможет управлять базой данных только мышкой, ему придется использовать команды и соответственно их знать.
0
|
|
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||
| 24.02.2019, 17:29 | ||
|
И в-третьих непонятна вообще привязка в ssh. Используя ssh-тунель можно использовать абсолютно любой клиент, который может и понятия не иметь о существовании данного протокола.
0
|
||
|
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 11
|
|||||||
| 24.02.2019, 18:16 [ТС] | |||||||
|
То есть, если я правильно понял, то мне необходимо будет реализовать веб-интерфейс, который будет работать с базой данных не через стандартные методы для подключения к базе данных и отправке SQL комманд, а будет подключаться по SSH сначала к серверу, а потом и к субд и отправлять консольные команды, а затем обрабатывать вывод этих команд, верно? К примеру для отображения списка всех баз данных в субд будет что-то вроде:
0
|
|||||||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|||
| 24.02.2019, 18:27 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 11
|
|
| 24.02.2019, 19:16 [ТС] | |
|
0
|
|
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
| 24.02.2019, 19:31 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 11
|
||
| 24.02.2019, 21:15 [ТС] | ||
|
0
|
||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
||
| 25.02.2019, 15:42 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 11
|
||
| 25.02.2019, 15:50 [ТС] | ||
|
При этом это должно быть просто, иначе разработка может затянуться.
0
|
||
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
|
|
| 25.02.2019, 19:12 | |
|
stefanitsky, если это для диплома и нужно что-то придумать лишь бы придумать, можно сделать ставку на адаптивность интерфейса, чтобы на мобильных и планшетах интерфейсом был приятно пользоваться.
Сам интерфейс можно сделать на bootstrap.
1
|
|
|
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 11
|
||
| 25.02.2019, 19:52 [ТС] | ||
|
Я уже стал немного определяться с конечной целью, остановился пока что не фреймворке Laravel. В нем и bootstrap хорошо интегрирован, и ssh туннелирование можно добавить как предлагал Jewbacabra. Да и в целом в нем множество встроенных механизмов для защиты (SQL injections, cookies, CSRF и т.д.). В общем акцент работы думаю сделать на том, что буду использовать современные средства разработки, которые в свою очередь более защищенные и предоставляют адаптивный интерфейс на практически любом устройстве, где есть браузер.
0
|
||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|
| 25.02.2019, 20:46 | |
|
Мне кажется вы вообще не о том думаете. Самое главное это идея, а вы все о инструментах типа фреймворка думаете. Нарисуйте макеты какие-нибудь, пропишите основной функционал, от этого уже можно отталкиваться.
Монструозный ларавел здесь вообще не нужен. 99% процентов от него вы не используете. Зато заставите пользователя качать тонны кода и мучиться с установкой. Bootstrap подключается в 2 строчки. Инъекции, CSRF итп не нужны, вы и так юзеру всю БД предоставляете. Авторизация, проверка ролей все это в БД есть. С SSH сложнее, мне кажется если на каждый запрос поднимать новый коннект то это мягко говоря не очень.
1
|
|
|
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 11
|
||||
| 25.02.2019, 20:55 [ТС] | ||||
|
0
|
||||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||
| 25.02.2019, 21:49 | ||||
|
Добавлено через 13 минут Не по теме: Помню лет 5 назад хостер godaddy предлагал для работы с бд использовать phpmyadmin. И доступен он был по uri типа https://10.10.10.10:8888/bla-bla-bla. Да, именно ip без какого либо домена и как следствие с самоподписанным сертификатом. И о какой безопасности там вообще была речь?
1
|
||||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|||
| 25.02.2019, 22:05 | |||
|
Не ну можно конечно и так, но это уже не простенький проект получается, функционал должен быть весьма мощным чтобы оправдать все это.
0
|
|||
|
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 11
|
||
| 26.02.2019, 10:11 [ТС] | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 11
|
|
| 27.02.2019, 10:55 [ТС] | |
|
В итоге зря я так загонялся, все оказалось куда проще.
Бакалаврская работа не предполагает научную новизну, поэтому вопрос можно закрывать, будет достаточно просто создать интерфейс. ![]() Всем спасибо за то, что откликнулись на помощь.
0
|
|
| 27.02.2019, 10:55 | |
|
Помогаю со студенческими работами здесь
19
Выбор дизайнера для создания графического интерфейса Выбор инструмента для создания графического интерфейса БД на Java Выбор оружия для создания современного пользовательского интерфейса c запасом на будующее Разработка веб-интерфейса для базы данных Разработка Веб-интерфейса к базе данных с PHP MVC Web-Framework Symfony Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|