forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   PHP / MySQL (http://forum.boolean.name/forumdisplay.php?f=135)
-   -   БД MySQL проверка данных (http://forum.boolean.name/showthread.php?t=20606)

Phantom 17.04.2017 17:33

Ответ: БД MySQL проверка данных
 
Придётся из программы постоянно отправлять запросы на сервер для удержания переменной в актуальном значении. Если сделать запрос только при старте и выключении программы, то 100% напорешься на ситуацию, когда у чувака прога завершилась фатально (электричество пропало, аккумулятор сел) и сервер не узнает, что программа была выключена. Получится мёртвая блокировка. Кроме того пользователь может подделать ответ твоего сервера и таким образом обойти ограничение - нужно это учитывать. Подписывать каждый запрос каким-то хитрым алгоритмом, использовать SSL.

В общем всегда нужно помнить о том, что любой ответ, пришедший с сервера в твою прогу может быть фейковым, подделанным злоумышленником, и наоборот, любой запрос, пришедший на сервер тоже может быть подделан. И с этим нужно как-то бороться.

L-ee-X 17.04.2017 17:51

Ответ: БД MySQL проверка данных
 
Мдааа. Столько проблем накапливается с этим SQL.

L-ee-X 17.04.2017 18:46

Ответ: БД MySQL проверка данных
 
Ну тут мне кажется как вариант шифровать пакеты которые отправляются с сервера и наоборот.
В любом случае без своего алгоритма шифрования не обойтись тут.

Randomize 17.04.2017 22:10

Ответ: БД MySQL проверка данных
 
Цитата:

Сообщение от L-ee-X (Сообщение 313324)
Еще такой вопрос. Хочу ограничить доступ к программе, чтоб под одним логином не смогли войти допустим два клиента

Нужен механизм сессий/сеансов. Это когда клиент получает при авторизации спецаильный временный токен (код), по которому сервер отличает одного клиента от другого. Клиент на своей стороне должен запоминать только этот токен. Он может храниться, например в cookie (очень простой способ с готовым решением) но в случае с софтом хранение этой cookie тебе придётся обеспечивать самостоятельно. То есть в каком-то смысле эмулировать бразуер, но это очень просто: код считал, сообщение составил, подписал, отослал. А ещё токен можно выдавать одноразовым на каждый запрос.

Цитата:

Сообщение от L-ee-X (Сообщение 313328)
Ну тут мне кажется как вариант шифровать пакеты которые отправляются с сервера и наоборот.
В любом случае без своего алгоритма шифрования не обойтись тут.

Как выше верно заметили написали, будет достаточно https для защиты от прослушки и компрометации данных. Обычно бд и php скрипт работают локально внутри серверного окружения, то есть, если общаться только с php, то всё безопасно - данные не перехватить. Но если очень хочется что-то пошифровать и тут есть решения: https://webformyself.com/shifrovanie...ytym-klyuchom/
Почти твоя ситуация - только адаптируй код. Изобретать свой алгоритм шифрования - Перельманом надо быть, всё-таки криптография это целое направление науки.

L-ee-X 18.04.2017 03:45

Ответ: БД MySQL проверка данных
 
Благодарю за объяснения :)
Я сейчас решил погрузиться глубже в этой сфере, так как в программу хочу еще добавить некий чат. Чтоб клиенты могли связываться друг с другом. Но сообщения нужно тоже шифровать.
После всех прочитанных рекомендаций выше думаю справлюсь :) Всем спасибо.
По результатам проделанной работы обязательно отпишусь :)

L-ee-X 23.03.2018 20:33

Ответ: БД MySQL проверка данных
 
Приветствую булочники. Подскажите, подключение к базе данных в программе нужно всегда? Или по мере запроса? Открыл соединение, сделал запрос, закрыл соединение. Или все же иметь постоянно соединение открытым?

Randomize 23.03.2018 20:42

Ответ: БД MySQL проверка данных
 
Нет смысла закрывать принудительно, само по завершении программы закроется.


Часовой пояс GMT +4, время: 04:25.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot