web-verzus-team
@web-verzus-team
Full Stack Developer

Насколько небезопасно делать функции-обертки для запросов в БД на JS?

При разработке web-интерфейсов и сайтов часто использую функции-обертки на PHP для примитивных действий-запросов в БД MYSQL, к примеру:
db_insert($table,$data); db_update($table,$data,$row_id); db_delete($table,$row_id);

Насколько опасно сделать такие же для JAVASCRIPT?
К примеру: dbInsert(table,serialized_data) - передает через AJAX данные для PHP-функции db_insert($table,$data);
  • Вопрос задан
  • 249 просмотров
Пригласить эксперта
Ответы на вопрос 3
riky
@riky
Laravel
просто учитывайте что любой пользователь системы может делать любые апдейты/удаления любых сущностей. тк сомневаюсь что у вас на сервере эти функции сейчас проверяют права доступа.
поэтому вопрос выраждается в "насколько критично, что любой юзер может удалять/менять что угодно в системе?". на этот вопрос думаю сами можете ответить.
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Ровно настолько, насколько небезопасны ваши функции на бэкенде.
Ну и дополнительно вы показываете злоумышленнику на клиенте свою структуру БД.

Это уже не говоря о том, что такой подход совершенно неправильный - пишите код более абстрактно, оперируя сущностями, а не таблицами БД.
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Я не совсем согласен с Максим Бабичев, такая практика ведет к ошибкам в масштабе приложения, + не тестируется, + никак не отвечает объектному подходу - какие запросы от жс к бд??? На клиенте я могу с вашими данными делать АБСОЛЮТНО что угодно, ведь предполагается что вопрос задан неспроста, вы действительно хотите передавать эти данные прямо к функциям запросов в бд? Аякс должен быть методом передачи данных от клиента к серверу(ну и обратно, но в данном случае не суть). Все манипуляции с данными должны быть отделены от запросов в бд как минимум 2 слоями абстракции - контроллером и моделью. В идеале еще и каким-либо абстрактным бд-движком - доктриной , самописным каким-нибудь, или еще чем. А тут у вас куча конкретных данных о структуре бд, полях, данных, что к какой таблице относится - кароче мохнатый лес. Смотрите реализации аякса в мвц.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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