День 2971
Александр Савинов
31 марта 2025, 22:24

Всем здравствуйте. Пришло время показать мой новый персональный веб-сайт: https://hinst.github.io На прошлой неделе я потратил 8 часов на создание веб-сайта, а в общей сложности я уже потратил на него 50 часов.

Вот что есть в моём сайте:

  • Мои блог посты на трёх языках: русский - оригинал, немецкий и английский - перевод с помощью LLM 🇷🇺 🇩🇪 🇬🇧
    • Перевод делается автоматически с помощью программки LM Studio и модели Aya Expanse 8B
    • Каждый день в полночь моя программка Orange Pi посылает запрос на мой настольный компьютер с просьбой перевести текст. Сделать такое пришлось потому, что Orange Pi имеет слишком мало памяти, чтобы запустить LLM. Нужно 8 GB, а в Orange есть только 4 гигабайта. Если мой настольный компьютер был выключен в нужный момент, то перевод откладывается на следующий день по расписанию
    • Первоначально я планировал делать перевод текста с помощью сервиса Google Translate, но оказалось что их API платный, а вот бесплатной версии официально не существует... Наверное, можно было попытаться сделать, чтобы запросы шли по тому же протоколу, который использует браузерный веб-переводчик, но в итоге я решил с этим не возиться
  • Два варианта показа блога с календарём: для широких экранов и для узких смартфонов 💻📱

Вот что планируется в будущем:

  • Комментарии
  • Полный переход на SQLite
    • Сейчас большая часть информации хранится в текстовых файлах, и лишь некоторая информация хранится в SQLite

Пока я работал над новым сайтом, то заметил дыру в безопасности в моём старом сайте 🤔 там можно было ввести ../ в параметры URL, а проверки на это у меня не было... Так что, в теории можно было выйти из папки с блог-постами в любую другую папку на сервере. Впрочем, сайт работал в Docker, так что ничего особо интересного там найти было нельзя 😴 Или можно? Дыру я уже починил https://github.com/hinst/SmartProgress-or/commit/b... 👌.

Нравится? Расскажите друзьям!
Oleg01.04.2025

Занимательная схема с переводом, но сильно ломкая. Насчёт «Гугл.Переводчика», он и платный, и деньги не переведёшь. Есть Yandex Translate https://yandex.cloud/ru/services/translate Переводчик от Яндекса тоже платный, но я пополнил на 500 руб., мне хватило где-то на полгода. Так что не самый дорогой вариант.

А насчёт дыры в безопасности, любую дыру надо устранять сразу. Если думаешь, что сайт на Docker, виртуализация и все дела. Я тебя разочарую, вот видео «Андрей Синицын — Побег из контейнера» https://www.youtube.com/watch?v=Ra0egse6Fk4. «Сбежать» хакеру из контейнера можно только так и порезвиться на хостовой системе. Насчёт безопасности есть мощные системы SAST и DAST. Но для начала можешь просто поставить плагин для eslint и посмотреть, что он найдёт.

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

Ответить

если найдёте дыру в безопасности в моём сайтике, то сообщайте 🥺 награда за находку = один лайк на СмартПрогрессе

Ответить
Федор01.04.2025

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

Ответить

логично 👌 я и сам это замечал, но буду ли я это чинить - не известно, ибо для устранения проблемы придётся сильно запариться, а проект и так уже получился очень запарный 🥵 проблема по идее возникает только у тех пользователей, у которых в браузере несколько языков настроено

Ответить
Комментировать
Перейти к записи в ленте
Цель

Вы тоже можете
опубликовать свою
цель здесь

Мы поможем вам ее достичь!

310 000

единомышленников

инструменты

для увлекательного достижения

Присоединиться
Регистрация

Регистрация

Уже зарегистрированы?
Быстрая регистрация через соцсети
Вход на сайт

Входите.
Открыто.

Еще не зарегистрированы?
 
Войти через соцсети
Забыли пароль?