4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361

Безопасность при работе с базой

05.11.2016, 15:48. Показов 552. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Использую Spting + Hibernate
Есть баз MySql куда пользователи могут добавлять/удалять данные после того как залогинятся. Работа идет посредством запросов из браузера типа:
JavaScript
1
2
3
4
5
6
7
8
9
10
var x = new XMLHttpRequest();
    x.open("GET", "delete?id="1" true);
    x.send();
    x.onreadystatechange = function () {
        if (x.readyState == 4) {
            if (x.status == 200) {
               
            } else alert("no connection");
        }
    }
т.е. если пользователь залогинен и от него приходит запрос
http://localhost:8080/confidential/delete?id=1,
то из базы стирается запись с id=1, что нормально так как это данные этого пользователя. Если не залогинен, то запрос просто не проходит.
НО понял вдруг и проверил, что если ты залогинен, то достаточно в браузере ввести
http://localhost:8080/confidential/delete?id=любое,
то можно получать/удалять данные других пользователей.
Вопрос: как ограничить работу пользователя, только с принадлежащими ему записями в базе данных. Каждой записи при создании назначен хозяин с id пользователя, который создавал эту запись. На ум приходит, только вариант проверки при каждом запросе, принадлежность записи в БД к данному пользователю.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.11.2016, 15:48
Ответы с готовыми решениями:

Безопасность при работе с БД
Привет. Вообщем у меня возникла такая проблема: например, у меня есть 2 бд. Одна из них состоит из файлов, а другая на mysql. Так вот,...

Безопасность при работе за чужим компьютером
Всем привет, тут такая ситуация: в универе задали разработать меры по защите информации в условиях ограниченных прав пользователя, т.е....

Си # ошибки при работе с базой
Как можно отследить ошибку на целостность данных при добавлении их в базу Access

2
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
05.11.2016, 16:31
Цитата Сообщение от werrt Посмотреть сообщение
На ум приходит, только вариант проверки при каждом запросе, принадлежность записи в БД к данному пользователю.
так и сделайте.
Так же не передавайте ID базы данных на клиент. Клиент может работать с UUID например, который генерируется для каждого объекта. Таким образом вы сможете в значительной мере исключить перебор значений.
1
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
05.11.2016, 16:51  [ТС]
что то сложно вроде с UUID, надо почитать... у меня просто с сервера на клиент приходит XML, на основе которой JS рисует страницу c едементами(кнопочки) и и каждой кнопке при отрисовке из этой XML назначается id. А потом при нажатии кнопки соответсвующий id передается на сервер и обрабатывается. Не знаю правильно ли так делать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.11.2016, 16:51
Помогаю со студенческими работами здесь

Ошибка при работе с базой данных
скажите почему ошибка при этих строках: sqdb.insert(sms.TABLE_NAME1, sms.NAME1, cv); sqdb.execSQL("CREATE TABLE " +...

Ошибка при работе с базой MS access 97
Добрый день. Может быть кто-то сталкивался со следующей проблемой. У меня база MSACCESS 97. Система WINDOWS XP. При корректировке формы...

Ошибки при работе с базой данных
Здравствуйте, недавно начал изучать работу с базой данных через Qt. Использую Qt 4.8 и Sqlite Вроде код взят с книги М. Шлее, но всё...

Ошибка при работе с базой данных
Здравствуйте. При попытки чтения строк из БД в работе программы возникает ошибка "Ссылка на объект не указывает на экземпляр...

Иероглифы при работе с базой данных!
Здравствуйте! На главной странице есть 2 текста - первый который был прописан в HTML коде, а второй берётся с базы данных. Вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Blazor и контроллер сервопривода IoT Meadow Maple
Wired 11.07.2025
Я решил разобраться, как можно соединить современные веб-технологии с миром "железа". Интересная комбинация получилась из Blazor в качестве веб-интерфейса и микроконтроллера Meadow с его веб-сервером. . .
Генерация OpenQASM из кода Q#
EggHead 10.07.2025
Летом 2024-го я начал эксперименты с библиотекой Q# Bridge, и знаете что? Она оказалась просто находкой для тех, кто работает на стыке разных квантовых экосистем. Основная фишка этой библиотеки -. . .
Изучаем новый шаблон ИИ-чата .NET AI Chat Web App
stackOverflow 10.07.2025
В . NET появилось интересное обновление - новый шаблон ИИ-чата под названием . NET AI Chat Web App. Когда я впервые наткнулся на анонс этого шаблона, то сразу понял, что Microsoft наконец-то. . .
Результаты исследования от команды ARP (июль 2025 г.)
Programma_Boinc 10.07.2025
Результаты исследования от команды ARP (июль 2025 г. ) Африканский проект по дождям (ARP) World Community Grid снова запущен! Мы рады поделиться обновленной информацией о нашем прогрессе с осени. . .
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах Опубликовано: 07. 07. 2025 Рубрика: Uncategorized Автор: AlexA Статья размещается на сайте с разрешения. . .
Раскрываем внутренние механики Android с помощью контекста и манифеста
mobDevWorks 07.07.2025
Каждый Android-разработчик сталкивается с Context и манифестом буквально в первый день работы. Но много ли мы задумываемся о том, что скрывается за этими обыденными элементами? Я, честно говоря,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru