Как обеспечить безопасность при работе sqlite (в качестве веб бд)?
Обычно, в веб, используют mysql (или другие подобные бд). Но, ради эксперимента, я решил попробовать создать сайт с использованием sqlite (sqlite 3).
Как я понял, немного поработав с этой БД, эта база представляет собой файл. И этот файл можно создать/изменить тем же Navicat, например.
Итого на хостинге будут лежать php файлы (другие файлы css и т.д.) и файл БД (sqlite 3).
Достаточно ли грамотного выставления прав на этот файл БД, например chmod 700, для гарантии что никто не сможет его прочитать/скопировать/загрузить/изменить извне?
И только скрипты смогут работать с ним. Варианты загрузки скриптов злоумышленником, уязвимости в скриптах не рассматриваем.
Как обеспечить безопасность при работе sqlite (в качестве веб бд)?
Moskus, существует огромное количество баз данных. И все они хранят данные в файлах. В тоже время все считаются разными и подход к безопасности у них разный.
Например, для той же MySQL можно не менять права на файлы, а открыть доступ извне без пароля.
Безопасность баз данных не ограничивается безопасностью файлов. В этом и вопрос - а что ещё нужно/можно сделать?
Евгений Иванов, так и к SQLite можно доступ открыть без пароля. Хотя реализация в случае разных БД - разная, но общие принципы - одни. Например, не держать файлы БД внутри каталога веб-сервера.
Если хочется добавить безопасность, то за это придется заплатить цену.
Чтобы было безопасно, нужно чтобы работа с SQLITE была под другим пользователем. А это означает что все запросы нужно выводить через отдельный (HTTP) API или другой прикладной сервис.
Хотя и это относительно. Если есть полный доступ к такому слою, то и к самим данным также. Просто напрямую доступа к файлу SQLITE не будет.