id44474404 id44474404

В Княжествах Онлайн снова появились анимации, они синхронизируются с сервером и работают реалистично, т.е. нанесение урона или получение ресурсов происходит в тот момент, когда это соответствует анимации...

...
TheDarkestRed TheDarkestRed

Экспериментируем с рэгдолами 🎮🧟🤺🐺

lehha95 lehha95

Открыли страницу в Steam! Добавляйте в список желаемого!

https://store.steampowered.com/app/1355780/

romandviski romandviski

Спасибо, добрый человек.

Rummy_Games Rummy_Games

Доброго субботнего вечера! Сегодня мы поделимся с вами видео процесса разработки одного из противников (“Роя”) в нашей игре, в рамках #saturdayscreenshot, а также кратко делимся ЛОРом игры.

...
id44474404 id44474404

Всем привет!
Функционал авторитарного сервера продолжает восстанавливаться до уровня, который был на фотон клауде. На этой неделе стало возможным убийство мобов, и получение с них опыта, и прокачка персонажа...

...
Jusper Jusper

В GMS сильно поменялась структура функционала, но не все корректно мигрируется из старых проектов. Если тебе не критичны новинки, то переходить на него стоит только с новым проектом.

Kazirath Kazirath

Насколько я понял проще установть последнюю версию перед 2.3 и продолжить работать под ней. Новинка не стоит свеч после переделки скриптов

Kazirath Kazirath

Это совсем не радостная новость. Меня вполне устраивал функционал старой работы скриптов и я даже выработал некоторую систему, которая позволяла через скрипты настраивать работу объектов и прочего. Принудительная же переделка в функции у меня не сработает из за структур некоторых скриптов...

...
alexprey alexprey

Учитывая то, что написано в данной статье обратно включить это не получится и придется действительно обернуть код скриптов в функции.

Кратко из документации:

  • Раньше скрипты были индивидуальными и изолированными
  • ...
  • ...
  • ...
  • ...
...
PallSwarrow PallSwarrow

Спасибо за комменты, оч приятно)
Про ссылку тупанул - пока разбираюсь с сайтом)

alexprey alexprey

Жду линк на потестить и следующий девлог о разработке)

Jusper Jusper

Если есть прототип, было бы здорово выложить на него ссылку.
Не хватает игровых скриншотов.

Jusper Jusper

Raised, оригинал на Eurogamer.
Скорее всего, ирония.

Raised Raised

Это была такая ирония или Фортнайт тогда действительно был небольшим проектом?

id44474404 id44474404

alexprey, спасибо !)

alexprey alexprey

id44474404, поставить курсор на нужное место и у картинки нажать "вставить"

id44474404 id44474404

alexprey, в тех публикациях были были в перемешку слова и фотки, я докинул несколько скринов, но их нигде не видно, как добавить фотографии ?

alexprey alexprey

id44474404, ага, больше информации -> больше обсуждения да и в целом понимания о проекте)
В любом случае, добро пожаловать!))

id44474404 id44474404

Хм, больше инфы?) Ок

Логотип проекта Программирование

CSRF — обезопасить запрос с помощью токена

От распространённых уязвомостей, вроде SQL инъекций, я свой сайт более-менее защитил. Теперь вот узнал о такой уязвомости, как Сross Site Request Forgery. Рекомендуемое решение — добавление в параметр запроса некоего "токена".

Вопрос: чем является этот токен и как его использовать? Генерировать какое-то случайное значение и передавать его сначала в запрос, а потом сравнивать на сервере? Как правильно это значение генерировать? Как правильно его добавлять к запросу?

Ответ

bladget, ну так если у тебя уже используется POST запрос, то речи о CSRF и быть не может. Соль этой штуки в том, что у тебя какие то действия выполняются через обычную ссылку, например - удаление всех сообщений почты происходит по ссылке

http://some.com/mail/?do=remove&scope=all

ты берешь на другом сайте и этому юзеру вставляешь картинку

[img]http://some.com/mail?do=remove&score=all[/img]

все это рендерится вот в это

<img src="http://some.com/mail?do=remove&score=all">

браузер видит картинку, начинает её грузить по этому адресу, он отправляет запрос

GET /mail?do=remove&score=all HTTP1.0
Host: some.com
Referer: no-name.com
Cookies: {cookie for some.com}

сервер это принимает, смотрит куки, видит что юзер авторизован. И начинает выполнять свои действия, потом отправляет результат обратно

{какой то хеадер ответа}

<h2>All messages from you mailbox are removed.</h2>

в результате:
картинка не отобразилась, потому что браузер получил не картинку
у юзера удалились все его сообщения из почтого ящика, и он этого не заметил
В этом и суть CSRF

Смотрите также:


Комментарии



На твоем сайте просто ссылку на действие поставляй со случайным токеном и сохраняй его, для какого пользователя и на какое действие, а потом проверяй. После использования токен удалять и можно будет использовать снова. Таким образом злоумышленник не сможет подделать запрос. т.к. присутствует случайная величина. Кст да, после неправильного действия (если параметры токена не совпали), токен тоже надо удалять. А вообще это все конечно красиво, но гораздо проще проверять в хедере Referer. Хотя на мой взгляд лучше использовать обе техники


еще вспомнил. Можно использовать POST запросы для такого. Пост запрос так же через ссылку не подделаешь. Так 100% надежно

alexprey,

гораздо проще проверять в хедере Referer

Читал что пользователь может как-то отключить Referrer'ы, что делает невозможным проверку, поэтому должно использовать токены. Может я что-то напутал?

Можно использовать POST запросы для такого. Пост запрос так же через ссылку не подделаешь. Так 100% надежно

Честно говоря я не понял. В данный момент у меня сделано так: для каждой формы генерируется уникальная пара ключ/значение, которая передаются вместе с данными формы и сравниваются скриптом-обработчиком формы. (для GET запросов я токены не использую). Пара хранится в сессии и очищается, естественным образом, после окончания сессии. Я думал сделать так, чтобы пара генерировалась каждый запрос новая, но пока времени не было. Доделаю, когда займусь шифрованием полей формы.

bladget, ну так если у тебя уже используется POST запрос, то речи о CSRF и быть не может. Соль этой штуки в том, что у тебя какие то действия выполняются через обычную ссылку, например - удаление всех сообщений почты происходит по ссылке

http://some.com/mail/?do=remove&scope=all

ты берешь на другом сайте и этому юзеру вставляешь картинку

[img]http://some.com/mail?do=remove&score=all[/img]

все это рендерится вот в это

<img src="http://some.com/mail?do=remove&score=all">

браузер видит картинку, начинает её грузить по этому адресу, он отправляет запрос

GET /mail?do=remove&score=all HTTP1.0
Host: some.com
Referer: no-name.com
Cookies: {cookie for some.com}

сервер это принимает, смотрит куки, видит что юзер авторизован. И начинает выполнять свои действия, потом отправляет результат обратно

{какой то хеадер ответа}

<h2>All messages from you mailbox are removed.</h2>

в результате:
картинка не отобразилась, потому что браузер получил не картинку
у юзера удалились все его сообщения из почтого ящика, и он этого не заметил
В этом и суть CSRF

alexprey,

А разве пользователь не может отредактировать атрибуты input'ов в форме и отправить то же самое?
+
Хотя в таком случае какой смысл делать токен? >_<

bladget, может, но речь идет не об этом. Ты сейчас говоришь о простой валидации инпута, смотри вше что я тебе написал. Речь идет о том, что кто-то чужой, который не имеет доступа к этой ссылке подсунул тебе, а ты даже и не заметил этого. Если я тебе плохо объяснил все в прошлом посте, попробуй почитать на вики

alexprey,

Я уже много где читал, в т. ч. на Вики. Видимо где-то приянл во внимание вредный совет. Я всё понял, спасибо.

Возможность добавлять комментарии была ограничена