Ваш додаток витікає даними

IDOR (Insecure Direct Object Reference) — це вразливість, яка виникає, коли розробники прив'язують дії до ідентифікаторів, які контролюються користувачем, без перевірки їхнього доступу за допомогою механізму авторизації. Це дозволяє зловмисникам змінювати ідентифікатори у запитах і отримувати доступ до об'єктів, які їм не належать, обходячи систему контролю доступу.

IDOR може приховуватися не лише в URL-адресах або RESTful-ендоїнтах, але й у таких місцях, як мобільні API, десктопні додатки, що використовують ненадійні внутрішні API, або інструменти для імпорту/експорту даних для адміністраторів, які не обмежують доступ до записів. Деякі з типових помилок, що призводять до IDOR, включають:
- Використання ідентифікаторів, наданих користувачем, у фонових … Читати далі

React Hooks за мить: що це, які типи і які їхні переваги?

pic

React — одна з найпопулярніших бібліотек JavaScript серед розробників, і однією з найкращих її особливостей є використання класових і функціональних компонентів для створення веб-додатків, зокрема React Hooks.

Hook в React дозволяє розробникам використовувати стан (state) та інші методи життєвого циклу у функціональних компонентах. React рекомендує використовувати функціональні компоненти замість класових.

React Hooks, які були введені у версії React 16.8, дозволяють розробникам працювати зі станом і ефектами в функціональних компонентах без необхідності використовувати класові компоненти. До появи hooks, стан і методи життєвого циклу були доступні лише у класових компонентах. Після введення hooks, React став більш гнучким і дозволив створювати компоненти, … Читати далі

Розуміння патерну Container/Presentational у React

У світі React розвиток патернів проєктування є важливою складовою для створення підтримуваних і масштабованих додатків. Одним з найбільш ефективних патернів є Container/Presentational pattern, або патерн "Контейнер/Презентаційний компонент", також відомий як розподіл на "розумні" (Smart) і "тупі" (Dumb) компоненти. Цей патерн кардинально змінив підхід до структуризації компонентів у React і значно полегшив розробку.

Цей патерн передбачає поділ відповідальності між двома основними типами компонентів:

Презентаційні компоненти:

  • Фокусуються тільки на відображенні інтерфейсу користувача (UI).
  • Отримують дані через пропси.
  • Рідко мають свій власний стан, за винятком стану UI.
  • Пишуться як чисті функції, якщо це можливо.
  • Не залежать від решти додатка (наприклад, від Redux
Читати далі

Об’єктно-орієнтоване програмування з використанням JavaScript

Об'єктно-орієнтоване програмування (ООП) є основною парадигмою програмування, яка використовується в багатьох мовах, включаючи JavaScript. Суть ООП полягає в моделюванні системи через колекцію об'єктів, кожен з яких містить функції та дані. Далі розглянемо ключові принципи ООП в JavaScript.

Інкапсуляція — це об'єднання даних і методів об'єкта, що працюють з цими даними всередині нього. Вона дозволяє приховувати внутрішній стан об'єкта від зовнішнього світу, забезпечуючи захист від випадкових змін і доступу.

Абстракція полягає в тому, щоб приховати складні деталі реалізації і надавати тільки основні функції об'єкта або системи. Це робить взаємодію з об'єктами зручнішою і зрозумілішою.

Наслідування дозволяє створювати нові класи, які успадковують … Читати далі

Початок роботи з Jotai: Простий посібник по управлінню станом у React

Якщо ви працюєте з React і набридло передавати пропси всюди або працювати з безладним станом, Jotai може стати вашим новим найкращим другом. Я нещодавно почав використовувати цю бібліотеку і знайшов її дуже зручною для керування глобальним станом. Вона дозволяє значно спростити управління станом, і в цьому блозі я покажу, як налаштувати Jotai, створити базовий лічильник і додати залежний стан для цікавості.

Чому Jotai?

Jotai — це легка бібліотека для керування станом у React, яка ідеально підходить для тих, хто хоче уникнути складних налаштувань, як у Redux. У Jotai використовуються "атоми" для зберігання стану, і вони працюють у будь-якій частині вашого … Читати далі

Unity VR: кілька інтеректорів і один контролер

Ми зіткнулися з проблемою, коли різні інтеректори спрацьовують не в той час. Це може бути актуальним для будь-якого інтеректора і взаємодіючого об'єкта (Interactable), але ми зосередимося на телепортації. У цих взаємодіючих об'єктах телепортації є властивість під назвою Teleport Trigger. Вона дозволяє контролювати, коли відбувається телепортація, залежно від взаємодії користувача та вибору дії Select або Activate з XRI Default Input Actions.

У погляді на Action Map ми бачимо, що дія Selection Action призначена для кнопки GripButton, яка зазвичай використовується для захоплення предметів. Проте це може призвести до плутанини, коли замість захоплення відбувається телепортація, або навпаки — захоплення, коли ви хочете телепортуватися.… Читати далі

Ізоляція та контроль: Роль сінглтона в архітектурі ігор

Патерн проектування Singleton є одним з важливих інструментів у програмуванні, що забезпечує наявність лише одного екземпляра класу та надає глобальний доступ до цього екземпляра. Це корисно в ситуаціях, коли потрібно обмежити кількість об'єктів класу до одного, як, наприклад, у класах-менеджерах — AudioManager, InputManager або DBConnectionManager, що виконують важливі функції протягом усього проекту. Вони можуть бути доступні з будь-якої частини гри, зберігаючи лише один екземпляр під час виконання.

Патерн Singleton сприяє ефективному управлінню ресурсами та забезпечує стабільну поведінку програми, гарантуючи, що існує лише один екземпляр класу. Однак, питання його використання викликає багато обговорень серед розробників, оскільки його переваги та … Читати далі

Ведуча компанія з розробки казино-ігор для рішень наступного покоління в ігровій індустрії.

Казино-ігри еволюціонували від класичних слотів та настільних ігор до високопродуктивних платформ з інтерактивними можливостями, режимами реального часу для багатокористувачів і безперешкодними інтеграціями платіжних систем. З розвитком таких технологій, як блокчейн, інтеграція метавсесвіту та мобільна розробка, ігри наступного покоління надають більш захоплюючий, прозорий і винагороджувальний досвід для гравців.

Запуск успішної онлайн-казино-платформи залежить від правильного вибору компанії для розробки ігор, що може стати вирішальним фактором у залученні користувачів і генерації доходу. Для традиційних казино попит на технології нового покоління продовжує зростати, оскільки бізнес шукає надійних партнерів, здатних забезпечити високу якість і масштабованість.

Провідна компанія з розробки казино-ігор повинна бути більше, ніж просто … Читати далі

Дії та команди — девблог 53

Світ гри став більш живим і різноманітним. Я додав нові шляхи, намалювавши їх швидко, і тепер вони інтегровані в гру. На ділянках з темною травою шляхи стали відповідно темнішими.

Поки що на піску немає шляхів, але можливо я пізніше додам дерев'яні доріжки, які можна буде додавати до піщаних територій. Також я працював над кущем шипшини — він уже готовий, але плоди для збору ще не намальовані.

Окрім візуальних змін, я також змінив функціональність гри. Тепер управління котами здійснюється через текстове меню. Спочатку команди котів давалися без тексту, і кожен об'єкт мав лише одну дію — клік на їжу давав команду … Читати далі

Легенда про Qrrul’s Quest

Місто Гарт та його околиці відомі своєю небезпечною репутацією через велику кількість злочинців та нещадних мешканців. Гарт розташований на південному узбережжі Протоки Телун, де затока оберігається від штормів архіпелагом, відомим як Драконячий Кіготь завдяки своїй унікальній формі.

Колись ці острови були домом для драконів, але зараз вони стали укриттям для піратів і злочинців, які ховаються від правосуддя. Капітан Крюл, notorious пірат, вирішив створити свою базу в Новому Бордаку, що знаходиться в середині "долоні" Драконячого Кігтя.

Капітан Крюл ненавидить некромантів і їхніх послідовників, хоча ходять чутки, що сам він може бути нежиттю. Історії про його злочини залишаються актуальними вже століттями.

Наша … Читати далі