Сабж. Домен и хостинг предлагаю так и оставить у сосича, что это не было каким-то перетягиванием аудитории и т.д. Предлагаю поднять его на субдомене, если вам понравится, дальше разговор к сосичу, если нет, то ладно, но хотел бы, чтобы вы попробовали.

Скриншот: https://imgur.com/a/avU1sv2

Что реализовал:

  1. Имена участников хешируются (8 символов из sha-1). Вы конечно быстро поймете кто есть кто, но в целом я не знаю, как объяснить эту фичу правильно. Это такая некоторая защита вас друг от друга, тут некоторые любят (особенно это остро ощущается на ЛОРе) обсирать по личным обидам, а не по контексту сообщения.

  2. Управление досками (подобно как здесь tdg, community, club)

  3. Приватность досок (подобно как здесь клуб)

  4. Регистрация по инвайтам (чтобы это было для своих, как тут)

  5. Треды и ответы в них (есть тред и ответы, не ветки, как здесь)

  6. Возможность удалять посты и редактировать их.

  7. Базовая разметка (курсив, жирный, цитирование, блок кода)

  8. Ссылки на соообщения вида >>123

  9. Предпросмотр при наведнении на такие ссылки

  10. Под постом на который сослались выводятся все такие сообщение, также с предпросмотром.

  11. Вордфильтр (на случай вайпа, например, можно банить и добавлять слова в ворд-фильтр)

Пока протестировал как смог, вроде минимально готово.

Чего нет:

  1. Аватарок (не нужно, детский сад), это часть пункта 0.
  2. Вставки всяких картинок, телеграмов и всего такого. Изначально думал взять полностью концепт имиджборды, но по сути картинку можно вставить обычной ссылкой, не вижу проблемы, как и ютуб, как и телегу. Но если все очень сильно скажут, что это нужно, то я сделаю.
  3. Нет какой-то страницы профиля, рейтинга, звезд, статистики пользователя и все такое. В целом это даже на ЛОРе неактуально, здесь темболее (у всех миллион звезд).

Что есть, но иначе:

  1. Страница новостей это по сути доска, которую можно читать, но в которую нельзя писать (одмены могут). Думаю в будущем там чуть напедалировать, чтобы можно было комментировать, предложка и все такое. В целом уже подготовил почву (роли), чтобы сделать корректоров и все такое.

То до:

  1. Ну вот это с новостями доделать
  2. Сделать возможность выбора способа просмотра (как на имиджбордах / как на форумах), пока только первое, но второе сделать нетрудно, просто хочу сделать это как настройку у пользователя.

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

  • Oberstserj
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Вырвиглазненько. Одобряю!

    Это такая некоторая защита вас друг от друга, тут некоторые любят (особенно это остро ощущается на ЛОРе) обсирать по личным обидам, а не по контексту сообщения.

    С точки зрения движка фича прикольная. Конкретно нам оно не надо, потому что у нас тут не совсем форум, тут курилка для своих. Кто-то приживается, а кто-то охеревает от происходящего. Но потестим, чо нет-то?

    Базовая разметка (курсив, жирный, цитирование, блок кода)

    Маркдаун или чо другое?

    Ссылки на соообщения вида >>123

    По номерам как на дваче штоль?

    Под постом на который сослались выводятся все такие сообщение, также с предпросмотром.

    Это ж каша на экране будет, не?

    картинку можно вставить обычной ссылкой

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

    А прикрутить параллельно реально? @cocucka

    Короче, я за то, чтоб потестить, опенсурс хули, надо поддержать. Но конкретно в нашем случае фича 0 - это скорее минус. Поэтому на постоянку переезжать на такой движок нам не стоит, ИМХО.

    • cocucka
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      А прикрутить параллельно реально?

      Почему нет, если тупо в ЛТшной базе сообщения хранить, то будет параллельно

      • Oberstserj
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        А систему досок с нашими тредами между собой увязать реально? Если @torvn77 принесет очередную ссылку на ютупчик, в новом движке оно как отдельная доска появится?

        • cocucka
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Раздел ЛТ == доска. Т.е. у нас тут по сути несколько досок: новости, галерея, опросы, техраздел, толксы, клуб и блоги.

    • shikata_ga_naiOP
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      0 - это скорее минус

      Там там строку кода удалить (хеширование) и будет обычный никнейм, можно и так конечно.

      нельзя тупо картинку со своего компа напрямую

      Тогда это будет именно что дващ (имиджборд в полном понимании). Но я лично считаю, что нет смысла всирать дисковое пространство. У ЛОРа нет такой фичи и на ЛТ нет и всем норм (кроме раздела скриншотов).

      Почему нет, если тупо в ЛТшной базе сообщения хранить, то будет параллельно

      Я не знаю, какая там структура и все такое. Я свою сделал и на sqlite3, тут на ЛТ потолок 10 человек общается, sqlite должно хватить за глаза.

      • shikata_ga_naiOP
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Энивей, смотрю за “не нужно” тыкнуло больше, всего уже больше 10 голосов, это значит, что плюс минус все уже проголосовали.

        Жаль :((

        • kevlarbeaver
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Этот дурачок кстати меня в игноре держит.

      • Oberstserj
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Там там строку кода удалить (хеширование) и будет обычный никнейм, можно и так конечно.

        Еще раз повторю: конкретно для нас здесь, для ЛТ, это минус. Но не для движка. Я сам готов назвать форумы, где эта фича зашла бы на ура. Так что норм.

        У ЛОРа нет такой фичи и на ЛТ нет и всем норм

        Да не норм, просто всем лень это реализовывать. Из всех живых пользователей здесь буквально каждый хоть раз что-то сказал по этому поводу. Просто сейчас ты тупо делаешь лишние действия - идешь на хостинг картинок, получаешь ссулку для маркдауна, несешь ее сюда. Но это никак не ограничивает. Просто лишнее неудобство. Никакой опасности конкретно для ЛОРа/ЛТ картинки не несут, ну не принято у нас ими срать как на дваче. Так что сравнение мимо. Да и никто не мешает удаляя ветку в архив оставить только тамбнейлы, которые весят меньше текста.

        • shikata_ga_naiOP
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Лучшее решение тогда взять движок tinyib, потому что моя поделка буквально пытается переизобрести его, а там это “нативная” фича, можно сказать. Я еще давно говорил, что движок имиджборды здесь идеально бы зашел, как человек который держал две относительно популярные когда-то параши говорю, здесь даже атмосфера примерно такая-же, разве что тогда было модно срать аниме картинками, сейчас большинство это переросло (хотя на ЛОРе всякие понидрочеры до сих пор есть).

          Что касается этой поделки, что я наколякал: сегодня проверил еще раз все функции движка, чтобы они работали, исправил ошибки, вечером вброшу на гит. Если тут есть люди, кто разбирается в пыхпых стеке, было бы интересно послушать мнение (ревью кода?), хотя я и так знаю, что скорее всего там кал, т.к. почти все написано с применением помощи нейронок (свой 1% навыка использовал для того, чтобы соединять в кучу, дебажить и переделывать нейронке запрос, пока она не выдаст то, что мне нужно).

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

          Не знаю, смогу ли развивать это сильно дальше, какие-то фичи прикрутить еще реально, но прям сложное что-то не уверен в силу того, что у кода нет какой-то правильной “основы”, я думаю. Человек который шарит в написании полюбому сначала делает какой-то каркас, который потом обрастает функциями и все там структурировано и по полочкам. Гопатыч в такое не умеет совсем кстати, я заметил, он вообще любит хуярить портянки где echo в столбик или ifthen конструкции лапшой сотнями строк, пиздос в общем.

          • Anoxemian
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            Бегло прочитал:

            1. Никогда не пхай куки без надобности, это просто неэтично.
            2. $user = $db->querySingle('SELECT * FROM users WHERE id = ' . intval($_SESSION['user_id']), true); - во-первых это шизофазия, во-вторых просто небезопасно. Это везде насквозь по всей простыне.
            3. Один запрос на топологию\конфигурацию для борды, а не 100500 функций для 100500 запросов на один чих. Зачем тебе sql? O_o
            4. if (isset($_GET['admin']) && $_GET['admin'] == 1) { === “1” либо ебаный intval
            5. function formatTime($timestamp) { - шиза. https://www.php.net/manual/ru/class.intldateformatter.php

            В целом заебок, но все надо переписать)))

            • MrSugoma
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

              шизофазия

              Что это означает? И вообще, я бы хотел добавить, что БД надо делать из директорий и текстовый файлов в них (например, password.txt), каждый из которых содержит по одному параметру, а булевые параметры надо делать в виде файлов капсом, как, например, реализовано в Nocord: при наличии файла ANONYMOUS Nocord понимает, что на сервере разрешен анонимный постинг.

              Зачем тебе sql?

              Я и про это.

              • Anoxemian
                link
                fedilink
                arrow-up
                0
                ·
                1 year ago

                Этот код берет строковую переменную, кастует ее к int, после чего конкатенирует ее к строке, кастуя ее обратно к строке. Это шизофрения чистейшая. Если уж работать трактористом, то вот чистый код:

                $user = $db->querySingle("SELECT * FROM users WHERE id = {$_SESSION['user_id']}");
                

                И да, так делать не стоит уже по соображениям безопасности. Для этого у каждой dsl библиотеки есть соответствующий api в виде bind/prepare с проверкой на инъекции.

                • Anoxemian
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  1 year ago

                  Ну и там по простыне такого много, при этом есть и правильное использование, видно, что не человек писал:

                  $ip = $_GET['ip'];
                  $db->exec("DELETE FROM bans WHERE ip = '" . SQLite3::escapeString($ip) . "'");
                  

                  Вместо:

                  // prepare/bindValue _уже_ включает SQLite3::escapeString
                  // Зачем лишнее выделение памяти и ненужное копирование $ip?
                  
                  $stmt = $db->prepare("DELETE FROM bans WHERE ip = :ip");
                  $stmt->bindValue(":ip", $_GET['ip'], SQLITE3_TEXT);
                  $res = $stmt->execute();
                  
                  • Anoxemian
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    1 year ago
                    $parentIdDefault = isset($_GET['thread']) ? intval($_GET['thread']) : '';
                    

                    Тоже шиза, квантовое состояние переменной - хочешь знаковый инт, хочешь строка, и если строка, то набигают проверки на пустое значение root (ну что с головой-то), можно грабить корованы.

                    Какую нейронку насиловал?

            • Holger
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

              $user = $db->querySingle('SELECT * FROM users WHERE id = ’ . intval($_SESSION[‘user_id’]), true); - во-первых это шизофазия, во-вторых просто небезопасно. Это везде насквозь по всей простыне.

              а в чем собственно шизофазия? да вообще то рекомендуется prepare

              • Anoxemian
                link
                fedilink
                arrow-up
                0
                ·
                1 year ago

                в следующем посте написано)

                • Holger
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  1 year ago

                  понял) вопросов больше нет

                • shikata_ga_naiOP
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  1 year ago

                  Бжлад, ну у меня были сильные подозрения, что гопатыч мне хуй за щеку вместе с кодом дает, но я смотрю мол, вроде работает и задачи выполняет, ну в целом это ожидаемо было, я и не скрывал :)

                  В общем парни, хочу сказать, что айтишники без работы точно не остануться тогда, ближайшие лет 20 судя по всему, как минимум. У гопатыча есть еще одна проблема: пока размер всего кода укладывается в максимум пару сотен строк, он еще как-то пытается думать и т.д., потом у него просто окно контекста схлопывается. Чтобы работать с этим кодом я использовал супер-дупер-новомодную идешку cursor-ai (в арче можно ебануть прямо из аура пакетом cursor-bin). Там есть режим агента, где гопатыч интегрирован в этот нотепад и там сильно проще давать контекст (выделил строки и сказал че хочешь, если ему надо, он шарится по всему проекту). Через обычный онлайн чат даже такого говна не добиться, он через пару сообщений забывает о чем ты с ним говорил, лол.

                  • Anoxemian
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    1 year ago

                    Нормуль, это называется vibe-driven кодинг. Типа, мамка, смотри, я заебательский кодер! бип-бип)))) Оно ж работает по факту)

                  • MrSugoma
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    1 year ago

                    У гопатыча есть еще одна проблема: пока размер всего кода укладывается в максимум пару сотен строк, он еще как-то пытается думать и т.д., потом у него просто окно контекста схлопывается. Чтобы работать с этим кодом я использовал супер-дупер-новомодную идешку cursor-ai (в арче можно ебануть прямо из аура пакетом cursor-bin). Там есть режим агента, где гопатыч интегрирован в этот нотепад и там сильно проще давать контекст (выделил строки и сказал че хочешь, если ему надо, он шарится по всему проекту). Через обычный онлайн чат даже такого говна не добиться, он через пару сообщений забывает о чем ты с ним говорил, лол.

                    Завязывай с вайб-кодингом, пока не поздно.

    • Oberstserj
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Потестить движок человеку надо.

        • Oberstserj
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Принеси, предложи, адаптируй, может тоже потестим. Но ты же не предлагаешь даже.

          • kevlarbeaver
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            «Принеси, предложи, адаптируй, может тоже потестим. Но ты же не предлагаешь даже.» Не хочу травмировать людей своим говнокодом, написаннім за две недели на новогодних праздниках. Это была разовая акция с целью подгадить форуму gamedev.ru, переманить к себе с него пользователей. Акция провалилась.

            • Oberstserj
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

              Не хочу травмировать людей своим говнокодом, написаннім за две недели на новогодних праздниках.

              Мы ж тут за опенсурс. Мы видели некоторое дерьмо. Напугал ежа голой жопой.

              Акция провалилась.

              Это потому, что слонов ты продавать не умеешь.

  • MrSugoma
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    У нас форум, а не борда. Сегодня Nocord встанет, в нем может быть официальный чат ЛТ. И зачем делать оформление, как на Дваче?

          • MrSugoma
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            В Чебурнете сервера Сосиски не будет.

            • Oberstserj
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

              В Чебурнете сервера Сосиски не будет.

              Так в чебурнете и меня с сосиской (и многими другими местными) не будет. Для нас ничего не изменится так-то.

    • Andrew V
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Сегодня Nocord встанет

      Думаете дождетесь?

      • MrSugoma
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Он уже упал, снова поднимаю.

        • Andrew V
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          И зачем такое нужно?

          Если оно лежит.

          Или вы всем будете рассказывать что стоит как в юности?

          • MrSugoma
            link
            fedilink
            arrow-up
            0
            ·
            edit-2
            1 year ago

            Уже встало утром. UPD 17:46: снова упало, начну поднимать через час-полтора, ибо сейчас уже не смогу.

  • Anoxemian
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    О, нашел дырищу, никогда так не делай:

    function getUserIP() {
        if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
            return $_SERVER['HTTP_CLIENT_IP'];
        } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
            return explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0];
        } else {
            return $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0';
        }
    }
    

    Это бесполезный код чуть более чем полностью. Клиент может прислать любой заголовок с любым значением. Это flowless wipe твердо и четко.

    • Anoxemian
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Треды и ответы в них (есть тред и ответы, не ветки, как здесь)

          function getThreadReplies($db, $parentId) {
              $stmt = $db->prepare('SELECT * FROM messages WHERE parent = :parent ORDER BY timestamp ASC');
              $stmt->bindValue(':parent', $parentId, SQLITE3_INTEGER);
              $result = $stmt->execute();
              $replies = [];
              while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
                  $row['children'] = getThreadReplies($db, $row['id']);
                  $replies[] = $row;
              }
              return $replies;
          }
      

      Это называется “ебать sqlite3, ебать”. Такое в прод нельзя, если глубина вложенности не ограничена, то добиться DOS можно даже не имея злого умысла. Рекурсия коряво ложится на sql, но для этого десятилетиями существуют решения уровня О(const). Nested set, например, загугли.

  • MrSugoma
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Кстати, Nocord встал, работает под Alpine 3.22 с ядром 2.6.37 из Slackware 13.37, работает под новейшим Apache и почти новейшим PHP 8.3 (он стабильнее 8.4 пока что), а его железом является виртуалка QEMU без KVM с архитектурой i686 на RPi 4B, лагов нет.

    • Anoxemian
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      i686 на RPi 4B

      Ты ебанутый? Малинка 64битная же.

      • MrSugoma
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Малинка — это ARM. И 32 бита эмулируются быстрее 64. Кроме того, SMP будет всё только тормозить в QEMU без KVM, поэтому я выбрал ядро без SMP.

        • MrSugoma
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          32 бита эмулируются быстрее, так как гоняют меньшие объемы данных.

          • Oberstserj
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            Какое отношение длина машинного слова имеет к скорости эмуляции, чучело?

            • MrSugoma
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago
              Что быстрее эмулируется в QEMU на хосте ARM64: x86 или x86_64?
              
              GPT-4o mini
              
              В QEMU эмуляция архитектуры x86 (32-битной) обычно быстрее, чем x86_64 (64-битной) на хосте ARM64. Это связано с тем, что 32-битные инструкции и режимы работы требуют меньше ресурсов и имеют меньшую сложность по сравнению с 64-битными.
              
              Однако производительность также зависит от конкретных настроек эмуляции, используемых образов и приложений, которые вы запускаете. В некоторых случаях, если приложение оптимизировано для 64-битной архитектуры, его производительность может быть лучше на x86_64, даже если эмуляция будет немного медленнее.
              
              В общем, если вам нужна максимальная скорость эмуляции и ваше приложение не требует 64-битной архитектуры, лучше использовать x86.
              

              Спросил универсального эксперта на все случаи жизни.

              • Oberstserj
                link
                fedilink
                arrow-up
                0
                ·
                1 year ago

                Спросил универсального эксперта на все случаи жизни.

                Как спросил, так он тебе и ответил, даун. Танненбаума почитай сначала, кретин, чтоб понимать, где тебе “эксперд” херню несет, а где нет.

                • MrSugoma
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  1 year ago

                  Как спросил, так он тебе и ответил, даун.

                  Что быстрее эмулируется в QEMU на хосте ARM64: x86_64 или x86?
                  
                  GPT-4o mini
                  
                  В QEMU эмуляция архитектуры x86_64 (64-битной) на хосте ARM64 обычно будет медленнее, чем эмуляция x86 (32-битной). Это связано с несколькими факторами:
                  
                      Сложность архитектуры: x86_64 имеет более сложную архитектуру и большее количество регистров по сравнению с x86, что может увеличивать накладные расходы на эмуляцию.
                  
                      Оптимизация: QEMU может быть лучше оптимизирован для 32-битной архитектуры, так как она менее требовательна к ресурсам и имеет меньший объем данных для обработки.
                  
                      Использование ресурсов: Эмуляция 64-битной архитектуры может требовать больше оперативной памяти и вычислительных ресурсов, что также может сказаться на производительности.
                  
                  Таким образом, если вам важна скорость эмуляции, то x86 (32-битная) архитектура будет предпочтительнее на хосте ARM64.
                  
                  • Oberstserj
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    1 year ago

                    Те же яйца, только сбоку.

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

                  • VIT
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    1 year ago

                    Что быстрее эмулируется в QEMU на хосте ARM64: x86_64 или x86?

                    У меня к тебе встречный вопрос, а в каких единицах ты меряешь быстроту эмуляции? Как ты определяешь “быстрее”?

              • Вячеслав
                link
                fedilink
                arrow-up
                0
                ·
                1 year ago

                GPT-4o

                Тебе туда запрещено. А ну быстро пошел спрашивать Алису!

    • MrSugoma
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Nocord сейчас снова оффлайн, так как из-за майнеров (а из-за кого ещё?) каждый час перебои света во всем населенном пункте, даже фонари потухают.

      • Anoxemian
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Это подстанция чует нокорд и выключается от стыда.

      • Oberstserj
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Чо там про надежность у тебя было?)

        • MrSugoma
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

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

          • Oberstserj
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            И если отбросить проблемы со светом, то Nocord всегда будет работать.

            Ога, если отбросить проблемы со светом, с дохнущей от любого чиха SD-карточкой, с узким каналом, с криворучием и малолетней клоунадой, со спизженным кодом, бОльшую часть которого ты не то что не понимаешь, а даже в глаза не видел и далее по списку.

            • MrSugoma
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

              с дохнущей от любого чиха SD-карточкой

              Уже давно сдохла.

              со спизженным кодом, бОльшую часть которого ты не то что не понимаешь, а даже в глаза не видел

              Где ты его увидел?

  • Nice
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Пффф… по мне так движку lor до идеала не хватает только одного, поддержки бесконечных тредов типа “Специальная военная операция”.

    Ну и для сикурности я бы показ картинок ограничил несколькими известными хостерами картинок, все что вне списка доверенных должно отображаться как uri (без отправки get запроса хер знает кому).

    • Anoxemian
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      А как тогда ip-шники посетителей собирать?

      • MrSugoma
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Так тут все равно все под прокси.

        • Anoxemian
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Давай начнем с малого. Докажи, что следующая запись ложь: 2+2=4

            • Anoxemian
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

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

    • crypt
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

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


      а кроме того, сосискин - мамкин пирожок и вахтер

      • Nice
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Это нагрузка на сервер и доступный сторадж. Можно будет linuxtalks задедосить картинками (преднамеренно и непреднамеренно), особенно успешный вектор атаки GIF анимациями, так что придется писать обвязки с кучей бизнес правил, которые должны определять как, что и как часто можно загружать.

        • crypt
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          очередной теоретик учит меня жизни. это и сейчас можно.


          а кроме того, сосискин - мамкин пирожок и вахтер

        • shikata_ga_naiOP
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Это актуально, если используется бесплатный шаред-пых-пых хостинг с доступным пространством в 50 мегабайт, в остальных случаях дисковое пространство измеряется в десятках гигабайт минимум, для сайта с посещаемостью 10 человек это не критично. Индивида, который будет публиковать по 1000 hi-res картинок в день можно будет и забанить.

          • Nice
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            Давай посчитаем, допустим в день постится всего 50 картинок по 1 мегабайту каждая, 50 метров в день => 1.5G месяц => 18G в год, linuxtalks уже 3 года, 50+ гиг только картинки.

            • shikata_ga_naiOP
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

              Во-первых, как ты пришел к выводу, что 50 картинок в день? Это ты откуда такие цифры взял? Первый день, когда все будут тестировать фичу и постить мемчики - может быть, но потом не больше одной в день. Во-вторых, не файт, что мегабайт, скриншот 2к монитора 276кб у меня получился, фуллхд еще меньше наверное.

              Можем взять самый страшный вариант, где публикуется 10 картинок в день по 250кб в среднем.

              • Nice
                link
                fedilink
                arrow-up
                0
                ·
                edit-2
                1 year ago

                скриншот 2к монитора 276кб у меня получился

                Ты в JPEG делаешь скришоты о_О ??


                Ок, это зависит от деталей на изображении, если на экране кадр видео или фото фоном, то будет за мегабайт, если текст и сплошной фон то будут сотни килобайт.

                • MrSugoma
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  1 year ago

                  В JPEG скриншоты обычно получаются больше, чем в PNG, если нет сложных обоев на скрине.

  • Александр
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Имена участников хешируются (8 символов из sha-1). Вы конечно быстро поймете кто есть кто, но в целом я не знаю, как объяснить эту фичу правильно. Это такая некоторая защита вас друг от друга, тут некоторые любят (особенно это остро ощущается на ЛОРе) обсирать по личным обидам, а не по контексту сообщения.

    Так в этом и смысл, тем более что срутся обычно в шутку и движухи ради

    В чём смысл очередной “анонимной” мелкоборды? Что бы все, давно знакомые, пытались угадать где кто, и дергали роутер, что бы наебать остальных? Ну на пару дней развлекуха, хоть и поржали бы

    Имиджборда без имиджев нахуй не нужна тем более, это лор и есть, сидим там одебилеваем по 20-25 лет, похуй всем на движок, он как родной, это с первоначальным вариантом на phpbb у некоторых проблемы были лол, люди приторчались к старому поркхабу и ахуевали от другого интерфейса

    Кароч, КГ/АМ, аффтар мудак

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