[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Безопасно ли отправить AJAX зашифрованный SQL?
Страницы: 1, 2
killer8080
И в чем тут суть оптимизации?
Цитата (GET @ 19.06.2019 - 11:21)
Есть довольно тяжелый скрипт, в нем после необходимых проверок на валидность, вычисляются числовые/текстовые параметры MySQL запроса, а также и сама структура запроса, количество подключаемых таблиц и сами имена этих таблиц.

т.е. в "тяжелом" скрипте узким место оказалась не работа с БД, а подготовка запроса? blink.gif
Как то верится с трудом.
И да нагрузка на сервер в целом даже вырастет из-за бессмысленного шифрования.
twin
Суть очень проста. Если запрос собирается с некоторыми, относительными затратами, то собрать нужно только один, первый. Потом к готовому подставлять лимит и офсет. А чтобы не забивать память на сервере, таким образом можно хранить его на клиенте. Готовый запрос, это одна-две строчки. Накладные на шифрование/дешифрование могут оказаться пустяковыми по сравнению со "сборкой", если допустим в подготовке запроса принимает участие нейронка)))). А если принять во внимание, что дешифрование нужно далеко не всегда, тем более.

Так что однозначного ответа тут быть не может, при определенных условиях такой вариант приемлем, и может оказаться весьма оптимальным.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
killer8080
Цитата (twin @ 20.06.2019 - 11:56)
Накладные на шифрование/дешифрование могут оказаться пустяковыми по сравнению со "сборкой", если допустим в подготовке запроса принимает участие нейронка)))).

Как то уж совсем экзотично выглядит. Интересно от ТС услышать что там за запрос такой, и откуда берутся такие огромные накладные расходы.
twin
Ну допустим при работе со статистическими данными сие вполне обычное дело. Если есть объемные фильтры на нескольких страницах, которые готовят результирующий запрос из разных источников (таблиц), да еще и в зависимости от промежуточных результатов и вычислений, может получиться довольно длинная и разветвленная структура. Собрать все эти параметры, передать на клиент и обратно, а потом снова разбирать каким то универсальным алгоритмом... Какой смысл, если можно оперировать уже готовым запросом.

Да и для дебаггинга приятнее. smile.gif



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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
brevis
Подобный подход практикуется давно. Вы можете его встретить, например, на некоторых форумах при поиске: первый раз результатам поиска по вашему запросу присваивается searchid, в последующих paging-запросах клиент передает только этот searchid и limit+offset.

Тут у нас, видимо, что-то с подобной идеей. Долгая "подготовка запроса" -- скорее всего куча других запросов с целью достать какие-то данные для подстановки в главный запрос...


_____________
Чатик в телеге
SlavaFr
Цитата (GET @ 19.06.2019 - 08:21)
Насколько это безопасно, отправлять SQL запрос, как есть "SELECT * LIMIT M,N", но в зашифрованном виде?


Всё дело в том, для кого и для чего всё это делается. Например всем известная программа phpMyAdmin разрешает замелдованным юзерам практически всё, что база данных разрешает.
Если твоя программа не для доверенных юзеров, а для всего мира, то тогда тебе безусловно надо заботится о том, что бы тебе не чего не взломали в базе данных и не вышли на доверенную информацию посредством инъекции. В таких случаях нужно ограничивать запросы до параметров, проверять эти параметры и только после проверки формировать sql интерн в бакенде.
Другими словами надо исходить из того, на сколько для тебя опасен пользователь в его роли, а когда это ясно, то можно давать ему права на произведение определённых функций, вплоть до создания и стирания таблиц.

Ну а в общем если исходить из концепта, что в начале всё запрещается, а потом только даются права, то посылы sql в случае ограниченных прав, могут прицинить нерешаемые проблемы, которые всё программу сделают безсмысленной.


_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
sergeiss
Что за извращение обсуждается в этой теме??? Какая-такая подготовка запросов на стороне клиента???

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.