Мой сайт для записи списка продуктов оказался внезапно очень важным для всей семьи. Ещё бы: без обзвонов, диктовки, согласования и прочей ботвы, каждый член семьи может зайти на сайт и обновить информацию: добавить продукт в список, удалить неактуальное, отметить покупку в режиме онлайн. Я знаю, что есть всякие гуглоформы и приложения, но у меня это работает именно как интегральный продукт: название товара сопровождается картинкой, список общий для определённых пользователей, весь функционал одинаково доступен как на телефонах/планшетах, так и в обычном десктопном браузере.
И всё бы хорошо, но хостится эта аппликация у бесплатных провайдеров, то есть безо всякого суппорта. Например, пока я был в Румынии, провайдер зачем-то заблокировал аккаунт. Судя по тикету, ему не понравилось, что я зарегистрировался с мейлом из домена rambler.ru (за что и был коллективно наказан). Ладно, тот инцидент улажен, но вот вчера случилось что-то совсем странное: база не просто упала, а "поломалась". Причём поломалась как-то странно: в консоли MySQL выскакивают предупреждения о сбое системных таблиц, но дамп и прочие запросы отрабатываются (и слава богу, иначе со старыми бекапами я бы вообще потерял лицо перед тёщей). Ну ошибки ошибками, а в какой-то момент и аппликация перестала логиниться к базе: пароль не принимается, выдаётся системная ошибка. Ошибку эту в нормальном мире решают как два пальца об асфальт, перезапуском mysqld, но я тут не хозяин, чтобы сервера перезапускать (а суппорта нет!)... Попытка создать новый аккаунт и накатить на него базу проваливается, ибо сервак у них общий, и он не сотрудничает со следствием.
Ну и конечно же, вся эта халабуда упала именно тогда, когда мы всей семьёй составили список, и жена с дочкой уехали по нему закупаться. А аппликация-то "ку-ку". Что делать? Гипс снимают, клиент уезжает! Но мы тоже не пальцем деланные: быстро (пока не получил от тёщи выговор с занесением) ищу аналогичный бесплатный хостинг, очень быстро создаю аккаунт, подымаю базу из бекапа, заливаю сорсы, подправляю файл конфигурации ... и всё работает! Это реально был случай экстремального администрирования.
Что характерно, параллельно с конвенциональным хостингом я позарился на хостинг от Амазона. Тот самый, знаменитый, облачный. Там всё такое из себя, пальцы веером, сопли пузырём, какие-то облака, виртуальные сервисы и прочие достижения технической мысли. Но вот поднять базу к бесплатному веб-аккаунту - низзя. Только за очень большие доллары, причём не в год, а в месяц! И мигрировать обычный MySQL бекап через их веб-форму мне тоже не удалось, ибо потребовалось заполнить какие-то формуляры, понасоздавать секретных сертификатов, ещё какой-то хрени... Ребяты, вы создаёте сервис для бесплатного хостинга или предоставляете мне доступ к материалам министерства энергетики США (ЕВПОЧЯ)? Почему бесплатный хостер сходу открывает мне доступ по FTP к моим сорцам, а вы разрешаете мне закачать ... ОДИН ФАЙЛ и только через веб-интерфейс? И если вы такие вумные, то почему нельзя просто задеплоить проект из чего-то локального (если я правильно понял, там даже github оказался не в почёте). Короче, обиделся я на них и вернулся в лоно обычных провайдеров. Более того, им я охотнее заплачу свои кровные доллары, потому что тёплое, LAMPовое, красивое.
И всё бы хорошо, но хостится эта аппликация у бесплатных провайдеров, то есть безо всякого суппорта. Например, пока я был в Румынии, провайдер зачем-то заблокировал аккаунт. Судя по тикету, ему не понравилось, что я зарегистрировался с мейлом из домена rambler.ru (за что и был коллективно наказан). Ладно, тот инцидент улажен, но вот вчера случилось что-то совсем странное: база не просто упала, а "поломалась". Причём поломалась как-то странно: в консоли MySQL выскакивают предупреждения о сбое системных таблиц, но дамп и прочие запросы отрабатываются (и слава богу, иначе со старыми бекапами я бы вообще потерял лицо перед тёщей). Ну ошибки ошибками, а в какой-то момент и аппликация перестала логиниться к базе: пароль не принимается, выдаётся системная ошибка. Ошибку эту в нормальном мире решают как два пальца об асфальт, перезапуском mysqld, но я тут не хозяин, чтобы сервера перезапускать (а суппорта нет!)... Попытка создать новый аккаунт и накатить на него базу проваливается, ибо сервак у них общий, и он не сотрудничает со следствием.
Ну и конечно же, вся эта халабуда упала именно тогда, когда мы всей семьёй составили список, и жена с дочкой уехали по нему закупаться. А аппликация-то "ку-ку". Что делать? Гипс снимают, клиент уезжает! Но мы тоже не пальцем деланные: быстро (пока не получил от тёщи выговор с занесением) ищу аналогичный бесплатный хостинг, очень быстро создаю аккаунт, подымаю базу из бекапа, заливаю сорсы, подправляю файл конфигурации ... и всё работает! Это реально был случай экстремального администрирования.
Что характерно, параллельно с конвенциональным хостингом я позарился на хостинг от Амазона. Тот самый, знаменитый, облачный. Там всё такое из себя, пальцы веером, сопли пузырём, какие-то облака, виртуальные сервисы и прочие достижения технической мысли. Но вот поднять базу к бесплатному веб-аккаунту - низзя. Только за очень большие доллары, причём не в год, а в месяц! И мигрировать обычный MySQL бекап через их веб-форму мне тоже не удалось, ибо потребовалось заполнить какие-то формуляры, понасоздавать секретных сертификатов, ещё какой-то хрени... Ребяты, вы создаёте сервис для бесплатного хостинга или предоставляете мне доступ к материалам министерства энергетики США (ЕВПОЧЯ)? Почему бесплатный хостер сходу открывает мне доступ по FTP к моим сорцам, а вы разрешаете мне закачать ... ОДИН ФАЙЛ и только через веб-интерфейс? И если вы такие вумные, то почему нельзя просто задеплоить проект из чего-то локального (если я правильно понял, там даже github оказался не в почёте). Короче, обиделся я на них и вернулся в лоно обычных провайдеров. Более того, им я охотнее заплачу свои кровные доллары, потому что тёплое, LAMPовое, красивое.
Tags:
(no subject)
Date: 2021-10-03 06:42 pm (UTC)(no subject)
Date: 2021-10-03 07:01 pm (UTC)Кроме того, я имею задумку прикрутить туда анализ статистики покупок, чтобы давал умные советы, когда пора ещё раз купить какой-то товар. Алгоритм вроде бы готов, надо только встроить его как положено.
(no subject)
Date: 2021-10-04 02:32 pm (UTC)Имеется ввиду провайдер или аппликация?
Date: 2021-10-04 04:07 pm (UTC)Аппликация: http://my-shopping-list.unaux.com/ (попрошу без вандализма)
Re: Имеется ввиду провайдер или аппликация?
Date: 2021-10-04 05:18 pm (UTC)За ссылку спасибо, а код нигде не посмотреть? Под какой лицензией оно вообще планируется?
Re: Имеется ввиду провайдер или аппликация?
Date: 2021-10-04 06:12 pm (UTC)Код там очень быстро написанный на коленке, причём "с нуля". Я пока ещё даже официальную "первую" версию не выпустил, только "нулевая". Могу залить на "мегу" и послать ссылку.
Есть баги и уязвимости:
1. При логине пароль отправляется напрямую, без шифрования
2. Логаут почему-то срабатывает только со второго раза
3. Нет верификации по мейлу (точнее, есть какая-то заготовка, которую админ группы должен сам посылать)
4. Постоянно слетает сессия в мобильной версии
Ну и куча недоделок:
Набор продуктов не привязан к группе, нет редактора отделов, картинки нельзя закачать на сайт через веб-морду, нет уведомлений об изменении списка
(я не настоящий сварщик, на серверной стороне веба только шесть лет как пописываю)
(no subject)
Date: 2021-10-16 03:14 pm (UTC)> 1. При логине пароль отправляется напрямую, без шифрования
Да посчитай и сравнивай самую примитивную контрольную сумму, пусть даже "djb2", все ж заметно понадежней, чем plaintext будет.
(no subject)
Date: 2021-10-18 05:42 am (UTC)(no subject)
Date: 2021-10-18 07:18 am (UTC)2. Алиса Бобу: щас я тебя проверю по https://ru.wikipedia.org/wiki/CHAP, и вот тебе одноразовое случайное число (nonce)
3. Боб Алисе: вот тебе это же число, зашифрованное ключом, полученным многократным хешированием нашего с тобой общего пароля, как сказано в https://ru.wikipedia.org/wiki/PBKDF2
4. Алиса Бобу: щас я его попробую расшифровать... тэээкс... да, внутри мое случайное число, ура, чмоки-чмоки!
5. А нашу сессию в следующий раз не подделают?
6. В следующие раз nonce будет другое
Ну, как-то так. Хотя бы, чтобы спать спокойней. У меня коллега пару лет назад жаловался, что соседи-школьники взломали его секретный вайфайный пароль, состоящий из его имени и года канонизации св. Доминика папой Григорием IX. :)
(no subject)
Date: 2021-10-18 08:36 am (UTC)