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

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

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

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

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

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

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


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

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

Лживый пост

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