Pull to refresh

Comments 135

реально ждал. повыситься хабрсила — накидаю +(ков)
Извините, дырки.

Ай-яй-яй:
$db->query ("SELECT user_name FROM ".DB_PEREFIX."_users WHERE user_login = '".$_GET['userlogin']."'")


Нереальный ай-яй-яй (а тут админа уже можно хорошо подставить правильно сформированным URL-ом, так как деструктивное действие делается через GET):
$id = $_GET['id'];
...
$delete = @mysql_query ("DELETE FROM ".DB_PEREFIX."_menu WHERE link_id = '$id'"
А, собственно, откуда Вы первый код взяли?
Если из админки, то… я знаю, что она дырявая, но разве нормальный админ будет свой сайт ломать? Теб более, что там есть консоль к БД, ее тоже защитить надо? ))
Тут проблема в том, что залогиненому админу можно подсунуть страничку с «изображением», которое на самом деле не изображение, а «правильная» ссылка — после чего все статьи пропадут. Как минимум здесь нужна проверка на POST (его без согласия пользователя уже сформировать труднее). Желательно — с генерацией уникального идентификатора для формы.

Первый код — из какого-то модуля, уже потерял. Что-то связанное с валидацией при регистрации.
Я при написании кода всегда действовал по правилу:«не кому не доверять, даже самому себе» =)
Вам того же советую!
а в первом примере что не так? (второй понятно, типичная sql-иньекция)
Первый тоже типичная sql-иньекция. А вот второй — типичная sql-иньекция + XSRF.
а ну да! всмысле не проверенная переменная.
Если включен magic_quotes_gpg то никакой опасности это не несет. Я не прав?
Если включён magic_quotes, то будут глюки в другом коде, где применяется addslashes без проверки на наличие magic_quotes.

Кроме того, от XSRF это не спасает в любом случае.
А если валидация и все проверки проходят положительно? Есть ли смысл объявлять переменную вторично?
Вы про что вообще? Там нет валидации $id (точнее, не было вчера; возможно, уже исправили).
Я просто смотрю на первую строку приведённого кода, и хочу понять, где же там проблема в данном контексте. Ибо без предшествующего кода это не однозначно. Оригинал я не смотрел. Просто уточняю. Если данные вообще никак не проверяются, то это действительно айяйяй, но в данном контексте это не ясно.
Это был весь код, ссылающийся на $id / $_GET['id']. Первая строка приведена для того, чтобы показать, откуда взялось $id.

(Даже если добавить проверки $_GET['id'] перед взятием — это просто присыпание будущих граблей песочком. И, опять-таки, от XSRF это не спасает.)

Ну, собственно, «все проверки» включает в себя защиту и от CSRF. Благодарю за уточнение.
Спасибо за пример кода. Не буду тратить своё время даже на то, чтобы зайти на промо-страничку.
Очень смущает огромный размер слова БАГ в облеке тегов…
Может и мне что-нибудь подобное написать? Хотя бы опыта наберусь…
в файле README.txt есть текст
«Для установки или обновления 2.0 запустите install/index.php»

во первых версия,
во вторых папки install нет, есть installer
я не к тому что бы ткнуть пальцем,
а помощи ради =)
пока все нравиться =)
лучше бы вы не изобретали дырявый велосипед для работы с бд, а использовали нормальную библиотеку… ту же dbsimple
(сам я использую ZF)
Описание на сайте:
Шаг2
Запустите мастера установок. Он проверит и настроит сервер, а затем установит базу данных. Настройте сайт и приступайте к работе.

Как он сервер настроит? :-)
эммм… ))) ну установит php и MySQL (если нет), обновит ПО :) на самом деле подразумевалось, что установщик проверит и настроит права на файлы.
у меня все ⠫екомендуеѻ ставлю кодировку UTF-8, при переходе на другую страницу опять все сбрасывается… это в Опере, IE и FireFox
настройки сервера?..
Думаю настройки сервера… если он явно указывает кодировку cp1251
Создайте файл .htaccess и добавьте строку:
AddDefaultCharset UTF-8
Должна помочь.
возможно на сервере русский апач. добавьте в .htaccess:
CharsetDisable On
AddDefaultCharset UTF-8
нет, апач не русский, добавил charsetdisable — Internal Server Error
самое странное что explay/ — все читается, все разделы нормально отображаются, а в админке explay/admin.php — уже нет…
В админке написано вместо «Комментариев» — «Комметрариев» :)
Пардон, не хотел отправлять :(

Вот код:

$end_time = microtime();
$end_array = explode(« „,$end_time);
$end_time = $end_array[1] + $end_array[0];
$time = $end_time — $start_time;

Можно проще:
$end_time = microtime(true);

И это только при беглом просмотре index.php, продолжить? ;)
ну не придирайтесь, наверное этот кусок писался ещё когда был актуален PHP4 :)
В требованиях к хостингу четко указан PHP 5.x
Обычно начинают придираться с чего-нибудь более значительного. А такого рода мелочи оставляют на сахар, когда к остальному придраться нельзя :)

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

1) Блок «Последние публикации» очень неудобный, зачем после каждого нового постинга в тему создавать ещё пункт, а не просто поднимать тему на верх с указанием ника последнего прокоментировавшего автора

2) Я не сразу нашёл где находится список блогов, может куда нибудь поближе ссылку

Успехов в разработке!
оказывается такая беда с «Эфиром» только на главной странице
Возможно придираюсь, но не факт, что для тестов cms будут ставить на отдельный хост. В этом случае открытие файлов с отправной точкой в $_SERVER[«DOCUMENT_ROOT»] не прокатит. Объявите константу DOCROOT (или что-то в этом роде) = dirname(__FILE__) в index.php
у меня вообще не работает ЧПУ.
он воспринимает ссылки как реальный путь к папкам articles, registration и поэтому 404. как исправить?
Значит у Вас либо проблемы с настройкой апача, либо вообще не установлен mod_rewrite.

Повторюсь еще раз, для багов и ошибок есть моя почта, сообщество и личка на Хабре
Мне всегда нравилась эта ЦМС. Спасибо за очередной ее выход. :)
Сверху вагон SQL-инъекций выложили, разве этого мало?
Некоторые уже залатал. На днях выйдет патч с исправлениями
хОрОшая Кмс, буду ее подробнее юзать, но уже можно сказать что немного поторопились не исправив баги
Система симпатичная, удобная, и вообще афигенная.
Но отмечу несколько минусов:
1)Безопасность вызывает большие сомнения, фильтровать переменные надо везде.
2)Код слишком мутный и разносортный. Не структурированно как то.
3)Нет MVC. Из этого как раз вытекают первые 2 проблемы.
Советую для следующей ветки написать все заново на каком нибудь фреймворке. Есть Symfony — пожалуй лидер по удобству, но с ощутимыми накладными расходами, есть CodeIgniter — очень быстрый, но мало обвеса. А еще есть набор кирпичей под названием Zend Framework, но он не решит проблему структурированности.

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

По поводу MVC: хотелось бы знать мнение о модуле статей
Зря вы так насчет фреймворков. Это конечно похвально что хочется написать все своими руками, но парадокс в том что большинству разработчиков со временем надоедает изобретать велосипеды и они начинают использовать фреймворки. Ведь так гораздо проще и быстрее. Из всех кого я знаю никто не вернулся к обычному программированию, все на фреймворках.
Ведь по сути, что вы выиграли за счет такого подхода к написанию кода? А ниче, только потратили кучу лишнего времени и обрели множество дыр в безопасности. Выигрыш в скорости — может быть. Но он слишком невелик чтобы покрыть недостатки.

MVC в модуле статей? MVC должен быть комплексным, его нельзя пришить к отдельным куском. Иначе это уже и не MVC.
А почему, если не секрет, не будете? Какая-нибудь объективная причина есть?
На первый взгляд, код плохой, ребят.
Прошелся по нескольким файлам… не нашел ни одного LIMIT'a в SQL запросах, зато увидел много SELECT * FROM
Ребята? Вы знаете еще одного разработчика кроме меня? Чесно говоря, очень неприятно слышать такте отзывы.
да это просто в очередной раз к тому, что надо проверять входные данные.
сам недавно взял Explay 2.0, сайт на нем решил сделать, вот теперь думаю, стоит брать 2.1 или нет. как там с совместимостью модулей и блоков? уж больно много своего понаписал
В поиске все данные проверяются, это addslashes так работает :(
А что значит «взял»? Вы его купили что ли?
взял, это значит скачал — поставил — использую
Может мелочь, но все же: в админке, в разделе «Добавить статью»: Изоображение.
интересно, но в коментариях style=«font-size: 1000px» тоже работает :)
«500. Ошибка программы

По некоторым причинам программа совершила ошибку. Возможно, скоро ситуация изменится.

Вы можете попробовать вернуться на заглавную страницу. „
нажал кнопочку Выход
Для баг-репортов есть сообщество, мой e-mail и личная почта на Хабре.
500. Ошибка программы

По некоторым причинам программа совершила ошибку. Возможно, скоро ситуация изменится.
Вы можете попробовать вернуться на заглавную страницу.
Спасибо больше за баг, буду исправлять
я думаю, что это потому что движек не может найти таблицу expl_articles
точнее не думаю, а именно поэтому) хотелось проверить есть ли парсер sql-запросов
сорри :)
Установил на Денвер, админка работает, захожу на сам сайт: «Fatal error: Call to undefined function mb_internal_encoding() in Z:\home\explay\www\index.php on line 22»
Вам нужно расширениt php для работы со строками в UTF-8
Правильнее для работы с UTF было бы использовать не mb_string а
обертку вроде sourceforge.net/projects/phputf8,
чтобы не зависеть от расширения, которое не всегда установлено на серверах.

а вообще ждем php6 :)
Спасибо за скрипт, буду изучать.

Тоже жду php6 :)
Вам надо установить расширение для PHP mb_string.
удалось установить расширение для пхп на денвер?
Не стал морочится, установил на нормальный хостинг.
На мой взгляд одна из самых приятных и быстрых в работе CMS подобного рода. С нетерпением ждал этого обновления! Спасибо большое!
Спасибо. после таких отзывов много возрастает желание двигаться дальше :)
двигайся конечно! тем более есть что исправлять и дополнять =)
на самом деле система классная и удобная)
очень удивился узнав, что автору «сего безобразия» всего 17. огромный респект;)
хм… надо ставить на отдельный хост? — не суждено мне посмотреть работу этой CMS =)
я имел ввиду что мне неохота создавать отдельный хост просто для теста продукта. У меня есть специальный хост для тестов CMS — называется он «cms»
PS. Как завести новый хост я знаю.
в требованиях к хостингу указан апач второй ветки.
выходит и с первой нормально работает?
Чувак CMS супер, не слушай ты не кого!
А через баги все проходят.

Нет ничего, что бы нельзя было бы взломать (с) Кевин Митник
UFO landed and left these words here
Хотелось бы узнать, чисто с философско-прикладной точки зрения: какой смысл закрывать ветку и писать архитектуру с нуля? Не знаю, что у вас за внутренности в CMS — не смотрел, но чем глубокий рефакторинг не устраивает?
Чесно говоря, архитектуры вообще мало: все завязано на статичных таблицах, развернуться, понимаете ли, негде… Но мое субъективное мнение: для CMS заточенной под интернет-сообщества текущая «архитектура» подойдет, ибо усложнение архитектуры приведет к повышению нагрузки и она скорее всего будет избыточной для социальной сети…

Тут вопрос непростой: либо развиваться как полноценная CMS, либо продолжать затачивать для уменьшения нагрузки. Я выбрал первое.
Учитывая что автор бьётся над своим детищем один это заслуживает похвалы, молодец!!!
А чтобы небыло глупых ошибок советую набрать группу тестеров, и пару опытных программеров, которые могли бы проверить весь код. Собирайте команду! Тогда у вас будет отличный продукт.
Скачал, познакомился.

В редактировании пользователей случайно тыкнул на слово Администратор рядом со своим именем… оказался юзером. Из админки выкинуло. «Познакомился» :) Пришлось через базу самому снова ставить себе админа.

Страшное количество очепяток. Однако 17-летие в какойто степени это оправдывает.

ЧПУ на стандартном Денвере(с mod_rewrite) все-таки не работает. Да и плохо, если честно иметь такой страшный .htaccess

А вообще для такого возраста вполне похвальный результат. После пары переписок вполне может выйти неплохое грамотное ПО. А для мелких специфичных проектов и сейчас вполне подойдет, только от пользователя системы требуется слишком много знаний.
Поставил…
1. Профиль у обычного юзера сохраняется через раз…
2. Аватарка че-то не льется (все права проверил при установке)
3. При установке системы стоял сейп O_o
4. Не хочет регистрировать ники с большими латинскими буквами… Т.е. «privet» он зарегит нормально, а какой нибудь «PriVet» хренушки, выдает s57.radikal.ru/i158/0808/21/ea4060c39c61.png

Сайт usersnet.ru/ может что не так поставил, гляньте? Надеюсь на быстрый ответ)
А также
5. Аватар при заливке в самом профиле не отображается, а вот в разделе Люди например нормально отображается
6. Автопереноса строк в каментах чтото нету, хотя, тут его нету usersnet.ru/articles/1.html, а вот когда смотришь в эфире комментариев: usersnet.ru/art_comments/ он есть!
7. При попытке проверки обновлений CMS — Сервер обновлений вернул ошибку: Обновления недоступны!
8. На мыло пришло — 2008-08-28 18:38:40 92.124.221.63 2 Warning imagecreatefromwbmp() [function.imagecreatefromwbmp]: '/тут_был_мой_путь_до_сайта/htdocs/include/cache/img1.bmp' is not a valid WBMP file 63 это что означает?
Товарищи минусующие мои комментарии, объясните, пожалуйста, причину. Хотелось бы исправится, да только не понимаю в чем дело :(
Дело в том, что плюсующие люди ещё не прошлись по ним :) А минусующие всё равно не расскажут почему, им времени жалко.
чего у меня не запускается. при запуске главной странице выдаёт ошибки:

Warning: Cannot modify header information — headers already sent by (output started at X:\home\explay\www\index.php:1) in X:\home\explay\www\index.php on line 18

Warning: Cannot modify header information — headers already sent by (output started at X:\home\explay\www\index.php:1) in X:\home\explay\www\index.php on line 19

Warning: Cannot modify header information — headers already sent by (output started at X:\home\explay\www\index.php:1) in X:\home\explay\www\index.php on line 20

Warning: Cannot modify header information — headers already sent by (output started at X:\home\explay\www\index.php:1) in X:\home\explay\www\index.php on line 21

Fatal error: Call to undefined function mb_internal_encoding() in X:\home\explay\www\index.php on line 22

и чего мне с этим делать?
f чего минусовать? подскажите в чем проблема.
Выше написано установите расширение для PHP mb_string
а как это можно сделать для комплекта денвер 3?
Ну а это уже офтоп, твой денвер и Explay CMS тут не причем, пиши своему денверу, и узнавай, как там у него чего делается!
в файл index.php добавлял что-нить русское? если да, и пользовался блокнотом, то нужно сохранять файл в кодировке UTF-8 без BOM (блокнот этого делать не умеет) или пользуйся программой для чистки BOM'а…
в инстале и админке замечены проблемы с кодировками (IE 7, FF 3)
несмотря на то, что должна быть кодировка UTF, судя по исходникам, броузеры дружно считают ее за windows-1251
писали же, в .htaccess добавьте строку
AddDefaultCharset UTF-8

я на 3 разных сервера ставил, везде всё замечательно по этой теме
я не читала все комментарии к топику

и не проще ли вам изменить дистрибутив и прописать кодировку в тот же .htaccess?
Кстати по поводу баг-репортов, хабрапочту нельзя отправить если не друзья. Имейл в свободном виде не светится. Остаётся только сообщество…
я понимаю, что ламерский вопрос, но может подскажите, что тут не так?

Warning: is_writable() [function.is-writable]: open_basedir restriction in effect. File(/usr/local/apache/htdocs/modules/auth/admin/fields_options.txt) is not within the allowed path(s): (/home/:/usr/lib/php:/tmp) in /home/a3276053/public_html/installer/install/step1.php on line 59

устанавливаю движек на хостинге
вот всегда так… только напишешь на хабре как сам потом поймешь в чем дло :)
что-то он неправильно определяет $_SERVER['DOCUMENT_ROOT']…
на другом хостинге все стало без проблем… вот блин…
Нет нормальной демки.
В той что здесь в комментариях упомянута — много ошибок, неверных адресов, ошибок в кодировке.
Нет демки админки.
На сайте очень мало информации.
Тот проект что есть по адресу test.boxing-art.ru/ сервис по стилю среднее между хабром и двайсом но ни до того ни до другого не дотягивает.
> Тот проект что есть по адресу test.boxing-art.ru/ сервис по стилю среднее между хабром и двайсом но ни до того ни до другого не дотягивает.

Это не проект, и он с дефолтным дизайном. Никто не ограничивает Ваши возможности и фонтазию при создании сайта :)
500. Ошибка программы
По некоторым причинам программа совершила ошибку. Возможно, скоро ситуация изменится.
Вы можете попробовать вернуться на заглавную страницу.

В общем, «ситуация не изменилась»

Такая сырая версия, а уже имеет версию 2.1 :)

Двойку вам в журнал
Помогите пожалуйста, не очень хорошо разбираюсь:

При установке выводит следующее:

При проверке сервера возникли следующие ошибки:

* Некоторые файлы (папки) не доступны на запись. Установщик не смог изменить их привилегии, попробуйте сделать этой вручную.

тоесть помечены все как недоступные кроме images который уже существует.

Спасибо.
Просит библиотеку GD при установке и неправильно проверяет, что за шешеня, что за говно?
Из обсуждения с админом:

«короче смотри.
как они делаю проверку наличия gd
они вызываю функцию phpinfo() и тупо парсят ее на наличие слова gd!
блять но функция phpinfo у всех хостеров закрыта!
они что ебанулись?
есть же функция gd_info()
чувствую не cms а говно какое-то внутри»
Огромная работа, спасибо вам за нее =)
А баги всегда бывают, не расстраивайтесь и развивайте систему дальше. Очень хорошее дело делаете.
Only those users with full accounts are able to leave comments. Log in, please.