Jump to content
Sign in to follow this  
Eanseen

Lineage 2 CMS

Recommended Posts

Истоки нашей CMS идут из 2015 года, именно в этом году, была выпущена наша первая CMS

 

Рынок требовал удобный, качественный и самое главное безопасный продукт, коих на рынке тогда не было. Со

временем функционал нашей CMS модернизировался и развивался, благодаря технологии Spring Framework

 

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

 

А теперь поговорим о новой версии:

  • Лучшая безопасность, исключены любые "дырки", которыми славятся PHP разработки
  • Поддержка шаблонов
  • Колесо Удачи
  • reCAPTCHA
  • Поддержка Email уведомлений
  • Неограниченное кол-во логин и game серверов, платформа позволяет работает не только с проектами Lineage 2, но и с любыми Java серверами
  • Никаких SQL запросов, обмен информацией осуществляется по протоколу XMLRPC, легко интегрируется в любую сборку
  • У каждого пользователя в личном кабинете имеется свой удобный склад и история операций с предметами
  • Поощрение за голосование в MMOTOP
  • Добавление новостей и статических страниц
  • Вывод тем с форума
  • Поддержка UnitPay
  • Продукт постоянно дорабатывается

Было принято решение перевести данный продукт в Open Source, ссылка на GitHub https://github.com/Eanseen7/Lineage-2-CMS

  • Upvote 9

Share this post


Link to post
Share on other sites

а гайд есть по установки?

Как запустить CMS или как внести изменения в сборку ?

Share this post


Link to post
Share on other sites

Как внести, то я разобрался уже. У нее отдельная база для работы ?

Share this post


Link to post
Share on other sites

Как внести, то я разобрался уже. У нее отдельная база для работы ?

Да, база самой цмс генерится при первом запуске

Share this post


Link to post
Share on other sites

Сейчас бы json гонять с помощью xml-rpc.  :rofl:

А вообще, молодцы.

Так json из сборки напрямую выводится на front end, уверен что есть и более изящное решение)

А вообще конструктивную критику всегда приветствую

Share this post


Link to post
Share on other sites

Посмотрел ваш гитхаб, интересности,  всяческих успехов.

Share this post


Link to post
Share on other sites

Истоки нашей CMS идут из 2015 года, именно в этом году, была выпущена наша первая CMS

 

Рынок требовал удобный, качественный и самое главное безопасный продукт, коих на рынке тогда не было. Со

временем функционал нашей CMS модернизировался и развивался, благодаря технологии Spring Framework

 

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

 

А теперь поговорим о новой версии:

  • Лучшая безопасность, исключены любые "дырки", которыми славятся PHP разработки
  • Поддержка шаблонов
  • Колесо Удачи
  • reCAPTCHA
  • Поддержка Email уведомлений
  • Неограниченное кол-во логин и game серверов, платформа позволяет работает не только с проектами Lineage 2, но и с любыми Java серверами
  • Никаких SQL запросов, обмен информацией осуществляется по протоколу XMLRPC, легко интегрируется в любую сборку
  • У каждого пользователя в личном кабинете имеется свой удобный склад и история операций с предметами
  • Поощрение за голосование в MMOTOP
  • Добавление новостей и статических страниц
  • Вывод тем с форума
  • Поддержка UnitPay
  • Продукт постоянно дорабатывается

Было принято решение перевести данный продукт в Open Source, ссылка на GitHub https://github.com/Eanseen7/Lineage-2-CMS

В лс примери проектов которие стоят на вашей СMS

Share this post


Link to post
Share on other sites

 

 

Немного критики:

 

- Все запросы которые делают изменения, надо делать POST'ом, а не тупо ГЕТом херачить, как например сделано в колесе фортуне. Иначе бедный юзер открывая браузер, сам того не зная, просрёт все "билеты.

- Это по Вашему нормально? За такое надо накл зажать. Вкурсе что можете так нахреначить SQL инйекций в подарок случайно? Чем PrepareStatement не угодил? Понимаю что это из веба никто сюда не влезет, но всё же, отвратительно так делать.

stmt = conn.prepareStatement("SELECT thread_id, title, last_post_date, last_post_user_id, last_post_username FROM " + forumTablesPrefix + "xf_thread ORDER BY `xf_thread`.`last_post_date` DESC LIMIT " + forumTopicsCount);

- То что в коде HTML код с текстом, это вообще забавно. Почему не сделать было подгрузку текстов из файла? И так же разнести на ENUMки? Я про это: return new IMessage(IMessage.Type.FAIL, "Идентификатор должен содержать 6-16 символов (A-Za-z0-9)");

- За вас умные люди накодили защиту от CSRF, но Ваше лучшее решение, не разобравшись накой она нужна, тупо отключить и дать взломщикам простор для действий: "csrf().disable()"

- Просто вот, почитайте: https://stackoverflow.com/questions/44839753/returning-json-object-as-response-in-spring-boot, я про этот сложный прикол:  return "{\"result\": {\"message\": \"Запрос успешно обработан\"}}";

- Зачем помогать брутерам лучше жить? Говорите что не верно, акк или пароль. Я конечно понимаю что вы используете капчу, которую уже можно взломать, но всё же? Я про это:

	if(!mAccountService.containsByUsername(mAccount.getUsername()))
		{
			result.rejectValue("username", "mAccount.username", "Аккаунт не найден");
			model.addAttribute("mAccount", mAccount);
			model.addAttribute("page", "cp/enter/auth.vm");
			return "cp/index";
		}

		MAccount temp = mAccountService.findByUsername(mAccount.getUsername());

		BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
		if(!encoder.matches(mAccount.getPassword(), temp.getPassword()))
		{
			result.rejectValue("password", "mAccount.password", "Неверный пароль");
			model.addAttribute("mAccount", mAccount);
			model.addAttribute("page", "cp/enter/auth.vm");
			return "cp/index";
		}

Вердикт:

Чистота кода похрамывает, много грязи, хтмл в коде, простые параметры "кол-во" символов в пароле захардкодено в самом коде (логичнее вынести в конфиг). Не до конца понимания зачем нужен гет и пост?

 

Вообщем оно без "инйекций" на первый вгляд, но причесать код явно надо.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...