[control panel] ACP - Панель управления учетными записями.
Вложений: 1
Описание
ACP (Account Control Panel) – предназначена для управления игроками аккаунтами и персонажами. (Он же личный кабинет). Написана на PHP. Главный девиз программы «чем проще - тем лучше». Но некоторой "паранойи", в виде подтверждений по емайлу, не помешает. Функционал * регистрация нового аккаунта * восстановление пароля к аккаунту по средствам электронной почты * просмотр информации об аккаунте и персонажах * смена пароля, * смена емайла, * смена типа аккаунта (wow, tbc, wotlk) * lock / unlock аккаунта * вытаскивание персонажа из застреваний * переименование персонажа * перенос персонажа на другой аккаунт * телепортация персонажа в дружественную столицу * просмотр информации о банах * просмотр доступных команд сервера * просмотр объявлений autobroadcast-a * логирование всех важных операций Требования * PHP 4.x - 5.3.3 * MySQL 4.x и выше * Mangos 3.1.3 сборка 8072 или выше * Патч Autobroadcast (не обязателен). * register_globals = Off * safe mode off Установка Установка проходит в 2 этапа: 1. Импортируйте SQL/acp.sql в БД acp(lk) 2. Отредактируйте config/config.php (все пояснения для настройки есть в самом файле.) 3. Внести данные о реалмах в config/realmlist.php Заметки Это мой первый полный проект. До этого ограничивался подгонкой под себя того что уже есть. Но в определенный момент понял, что нормального, в моем особом понимании этого дела, личного кабинета не существует. Со всем уважением к TIMzs, но его кабинет не давал мне того, чего хотелось. Вот я и решил сделать всё сам. Понимаю, что некоторые участки кода можно переделать и оптимизировать, но познания в PHP растут вместе с этим маленьким проектом…. Большое количество шкурок вызвано моим интересом «а как ACP будет смотреться в дизайне вон того сайта?»… Забыл добавить, что в файле английского интерфейса(include/text.en.php) залиты русские тексты в utf-8. Кому понадобиться, тот переведёт. Последняя версия - 2.33 (2 - версия движка, 33 - ревизия). ВНИМАНИЕ! Первая версия движка никогда мной не была доведена до ума и полной работоспособности. На определенном этапе разработки АСР, был написан с нуля движок 2-ой версии. Работы по первой версии были полностью и бесповоротно прекращены. Те администраторы, которые используют старый движок должны знать, что в нем есть куча дыр, неисправностей и прочих косяков. За утрату информации сервера, при использовании АСР-1, вы сами несете ответственность. -------- Послесловие Выражаю огромную благодарность Камекадзе, TIMzs, Antimatrix и другим участникам форума, из чьих работ я брал идеи для своего проекта. ---------------------------- tempura Автор очередного вопроса на тему "что дальше?", "когда будет?" и т.п. - автоматически вылетает в Рид-Онли на пару недель. В соответствии с общепринятым правилом "сначала читайте шапку, потом всю ветку". |
А changelog_и какие-то сохранились ? На подобии rev.|change.
|
Цитата:
|
Таки не добавил :)
/modules/charedit.php Код:
echo '<br>'.$txt[132]; // revive member Код:
132=> 'Воскрешение - ', |
Цитата:
Ждите новую реву. |
отчего же. По мере необходимости ещё выставить добавление марки, что бы не злоупотребляли :)
|
рев. 11 в репозитории.
Код:
- Все правки за последние месяцы. |
Зачем так официально)
поставил и фиг с ним :) кому-то пригодится. Тем более назвать 6 строк кода патчем - как-то язык не выворачивается |
Вложений: 1
Хорошо если бы добавили донат систему! И что бы можно было выбрать включить или выключить!
Так же нашёл мелкий баг в acp |
не нужно портить хороший ЛК всяким гамном типа донат системы.
Аналогичные функции выполняет изложенный в соседней теме. |
это только у меня? или на самом деле на свн стоит лог и пасс?
|
Цитата:
|
Кот ДаWINчи, я читал, что ты собираешься забрасывать свою разработку ЛК и в последующем он будет выходить лишь в составе более крупного какого-то проекта.
Почему? Прекрасный ЛК (не считая недоработанный модуль баг-трекера, который, как мне кажется, можно было бы довести до ума и он был бы очень удобен). Глобальных проектов много. И они очень неплохие (CSWOWD, AOWOW), но вот хорошего ЛК реально не хватает... Может не стоит забрасывать это дело? Пжалста!!! =) |
KiriX, то ли я не правильно выразился, то ли народ не понял мои невнятные объяснения. Но дело обстоит совсем не так.
Итак, объясню свою позицию общественности - в стиле "от и до...": Эта история началась где-то год назад. Кто давно на этом форуме (getmangos.ru), те наверное помнят тему с ЛК Тimz-a. То как они с Камекадзе делили авторство.... и т.п. В то время я, как и многие другие, попытался помогать в разработке ЛК Тimz-a. Но все мы получили интересный ответ от автора: "Вам надо, вы и придумывайте дополнительные опции к ЛК...". Вот тогда я и понял, что спасение утопающих... В марте, апреле я сел за плотное изучение PHP и MySQL, а к концу Мая родилась мысль сделать свой ЛК. И вот тогда я совершил свою первую ошибку. Я начал делать ЛК, не продумав все до мелочей. В результате по осени пришлось переходить на АСР2. И вот сейчас та же проблема. Мои "хочу" и "могу" ушли выше возможностей, созданного движка. Порой, я открываю давно написанные мной файлы, и с новых высот моего познания (с табуретки ;)) вижу столько огрех, что охота сесть и переписать всё с нуля. Поэтому, чтобы не тратить время зря, я решил сделать более интуитивный движок для ЛК. Сразу же в нем продумать и заложить некоторые избыточные функции, а так же особое внимание уделить на защиту от проникновения на сервер, удобность, гибкость и понятность для пользователя у движка. Сделать всё модульным. Те кто видел joomly 1.0.xxx со стороны администрирования поймут меня. Вот к этому я и стремлюсь. Эдакая джумла в миниатюре, ориентированная на работу с мангосом, в особенности с аккаунтами и героями. Новый проект - это просто очередной виток развития АСР, но я не хочу называть его "АСР 3"... Будет новое имя. Я все так же противник так называемой "админки". Интерфейс будет единый, но вот функционал... Он будет расширятся или ограничиваться в зависимости от gmlevel-а посетителя. Но сразу скажу, это будет всё тот же кабинет, только более расширенный. Сейчас идет стадия осмысления и написания основы движка, потом начну переносить в него модули. Часть работы уже сделана, но это пока капля в море. Что-то более менее работоспособное появится летом. |
Кот ДаWINчи, я думаю все осмыслить сразу сложно =) поэтому и бывает рефакторинг кода
а по поводу авторства и тп,(смотреть под какими лицензиями были те проекты не хочется, лениво =) ), но если они под свободными Open Source лицензиями GNU GPL, BSD и тп, можно спокойно форкать и продолжать дело самому, соответственно соблюдая все каноны лицензии, и авторы того проекта могут только по "фырчать" в твою сторону и не более. На то они и свободные =) Ну а по поводу нового или правильного кода(сам не смотрел что там и как написано), лучше для больших( и вообще) писать код и потом выделять его в классы и отдельные функции. Так чтобы потом не писать с "0", а использовать готовые наработки. Да и другим будет удобнее. |
Цитата:
|
Цитата:
Ввиду этого настоятельно рекомендую вам научиться пользоваться TortoiseSVN и выкачивать SVN репозитории. В противном случае если вы напишете ещё раз пост (в любой теме), в котором будет написано, что "черепаха" требует логин и пароль, я буду вынужден на неделю лишить вас права писать на данном форуме... |
Возникла проблема с кодировкой в ACP2.
Дефолтовое значение utf8 в config.php работает нормально, но постоянно приходится переключатся между кодировками в браузере. Если выставить в конфиге cp1251, ЛК зависает, а веб сервер выдает ошибку "falied to open stream: No such file or directory in D:\xxxxx\acp2\index.php on line 7". В первом ACP все работает как часы, а здесь нет. |
Хотелось бы всех предупредить, что в коде этого весьма полезного продукта есть несколько ошибок, позволяющих без проблем за 5-10 минут взломать Ваш сервер, получить админские права (прямо через сайт), вынуть или уничтожить в базе любую информацию (только если sql-сервер глядит в Сеть). Методы защиты - стандартные от sql poison.
|
FWS
http://ru-mangos.ru/showthread.php?t=274 тут про кодировки специально написал rsa Не могли бы вы в приват автору описать что и как? Я понимаю, ему будет удобнее иметь пример перед глазами, для исправления? |
Всем добрый день, возникла такая прорблема на версии ACP 1 при использование модуля смены пароля аккаунта, менялся пароль только для ACP, тоесть пароль для входа в игру каким то образом оставался прежним. Скажите, на версии 2 это уже не так? Я конечно понимаю что скачать и настроить дело пары минут, но всё же буду благодарен если кто то отпишеться на счёт этого :)
|
Цитата:
Цитата:
Цитата:
|
Цитата:
страдает недержанием также и генератор рандома для восстановления паролей. |
Цитата:
Я с большим удовольствием приму ваш багрепорт, и внесу изменения в скрипты. Ко всему прочему, поясните, чем провинился генератор рандома. (Тоже желательно на фактах). Добавлено: Не стал дожидаться ответа rsa. Подключил protect.php :beee: Код:
<?php |
|
mozilla, только что проверил - логи ведуться. Может какая одна функция отвалилась? Напиши что не сохранилось!
|
Ни одна операция не логируется
|
Цитата:
|
Показ ошибок включил. Где их выводить он должен, не понял :scratch_one-s_head:
Поменял в конфиге базу для лк на realmd, залив туда sql. Логи стали вестись. Что я упустил? :resent: |
Цитата:
|
Создавал так:
PHP код:
|
Цитата:
Дырка в charedit.php (возможно) заткнута через новую проверку, но надо тестировать. Давать советы дело неблагородное, я лучше кину несколько строк из реально имевшей место атаки. Я себе дырки позатыкал но уже не помню где и как конкретно. "GET /ACP2/index.php?modul=gilds&page=1&show=66+union+select+ 1--+ "GET /ACP2/index.php?modul=charedit%27+union+select+1-- "GET /ACP2/index.php?modul=char&id=106197+UNION+SELECT+1/* HTTP/1.1" "GET /ACP2/index.php?modul=char&id=106197)+and+1=union+select +*+from-- "GET /ACP2/index.php?modul=char&id=106197)+union=(select+*+fr om(select+*+from(select+name_const( "GET /ACP2/index.php?modul=char&id=-999.9%20UNION%20ALL%20SELECT%200x31303235343830303 536 строки не окончены, они длинные. но понять куда и как целились можно. |
Баг: если на аккаунте уже есть дк, то туда никого больше не перенести.
|
Цитата:
Цитата:
Цитата:
|
Цитата:
|
С ним теперь ни одна функция чаредита не работает. Выбираешь действие, нажимаешь выполнить и выскакивает пустая страница.
|
Цитата:
Пока разбирался с ДК... потер вчера пару скобок. Сегодня взял версию с СВН и нормально внес правку. Коммит 14 уже залит. |
Спасибо за заботу о кодировках, теперь все работает как надо :)
Но возник еще вопрос. В управлении учетной записью отсутствует возможность смены адреса электронной почты. В конфиге нет никаких параметров для данной функции. Это ошибка или временная мера? |
это моя переделка "под себя".
файл modules/acc.php строчки 48 и 49 должны быть такими: Код:
<td height="40" align="center" valign="middle"><input name=id type=radio value='2' /></td> |
Цитата:
PHP код:
И еще одно.. При попытке залогиниться получил следующую ошибку: Цитата:
|
Текущее время: 10:28. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS