Открываю исходные коды 314n.org

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

    Открыть коды своего чата я не могу, но могу открыть исходники старого проекта, который я делал еще только когда вкатывался в веб-программирование (где-то 2011-2012 год).
    Это 314n.org (кстати про него есть статья на лурке).

    К этому форуму даже написали клиент для командной строки для windows и other. Новый владелец сайта выложил ссылки на него прямо в help. Хотя я так и не решился его устанавливать из соображений безопасности (я параноик).

    Для кого это будет актульно — не знаю. Может кому будет интересно посмотреть.

    PS: Возможно стоило указать, что я расписал, как всё это работает в файле About, а не просто выложил файлы с сервака. Там не много букв, потому что всё это работает очень просто.

    И так, файл About:

    Основные файлы это: console.php, executer.php и viewer.php
    Каждая команда на сайте это — функция из executer.php;

    console.php — контроллер, обрабатывает входящую строку и загружает соответствующий обработчик из executer.php, который в свою очередь выполняет команду и отдает результат на вывод в viewer.php — на этом всё.

    Еще можно обратить внимание на функцию parse_bb_code в executer.php, которая обрабатывает каждый пост, вставляя картинки, видео, цитаты, ссылки, css и т.д. Свободный парсинг css задумывался как основная фича этого веб-сайта, которая позволяет отформатировать текст как угодно, но к сожалению ей никто не пользуется, а возможно даже не знают о ней.

    structure.sql — структура базы данных.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 19

      +1
      >Открыть коды своего чата я не могу, но могу открыть исходники старого проекта, который я делал еще только когда вкатывался в веб-программирование (где-то 2011-2012 год).
      Но зачем выкладывать то, что уже протухло?
        –2
        Там каждый день новые сообщения.
        + Возможно кто-то захочет доработать
        +2
        >Открыть коды своего чата я не могу
        Вы наверно хотели сказать «нехочу»
          –5
          Всё верно.
            0

            Боитесь, что его украдут и заработают миллионы, а с вами не поделятся?

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

                Ну так Open Source для того и Open, чтобы люди искали слабые места. Может быть условный хакер и нагадит, но зато 10 других человек помогут вам исправить уязвимости. Если, конечно, проект будет хотя бы немного интересен и\или популярен.

                  0
                  Я почти не слышал чтоб веб-проекты открывали свои коды. Исключая всякие движки конечно, которые работают на многих сайтах и потому поддерживаются сообществом.
                  0
                  Security through obscurity?
            –1
            Статья короткая, но на хабре были статьи и короче (и и ногда даже в плюсе).
            Проект древний, но на хабре были проекты и древнее (но там было всё же какое-то описание, а не ссылка на лурк).
            Статья не особо техническая, но хоть ссылка на репозиторий есть (ещё бы архитектуру бы описать в паре слов-абзацев-страниц.)

            Но блин, «Недавно выкладывал релиз своего нового чата» – а где оно? Какой смысл в исходниках без статьи? Такой же, как и в упомянутой статье без исходников, видимо.
              +1
              На самом деле я расписал как это работает в файле About на гитхабе
                0

                Да, я только readme.md почитал изначально, спасибо.


                Я, к сожалению, в php и его паттернах не силён, но даже такая малость была бы большим подспорьем для текущей статьи. Я вообще про классы в пхп не слышал, когда впервые им пользовался.
                Только <?include>, только хардкор. :D

              +2
              Бегло в код посмотрел, поэтому могу ошибаться:
              1) Имхо, лучше бы использовать обертку над базой данных с функцией плейсхолдеров вместо конкатенации запроса с параметрами, т.к. обычно это прям напрашиваться на уязвимости. Чуть вы где-то забыли очистить переменную и можно легко стереть полбазы, вставив в параметры что-то вроде topic_id=7;delete from topics
              2) Пароли в таблице users хранятся в md5 — это хорошо. Еще лучше добавить случайный salt — так вы получите разные хеши, если у 2х пользователей совпадают пароли.
              3) executer.php->REPLY($args). Вы используете независимые запросы к базе: сначала для получения code, затем делаете инкремент, а затем пишете это в базу. Думаю, под нагрузкой получите баги в виде 2х смешавшихся потоков выполнения и там значение code буду задваиваться.
                0
                я это давно делал, сейчас бы сделал по-другому (на node.js =))
                  +1
                  Замена одного языка на другой не избавит от все тех же ошибок, т.к. это ошибки в архитектуре.
                +2

                Мммм а почему эта статья в новостях?

                  0
                  Чтобы даже при лютых минусах видна была. Автор очень _странный_
                    0
                    Первые посты с 2008 года — назвали странным на Хабре… ну ладно…
                  0
                  Открываю исходные коды
                  Открыть коды своего чата я не могу

                  Лживый пост

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

                  Самое читаемое