Какой вариант защиты от уязвимости IDOR применен в коде?
Недавно мы рассказывали об уязвимости Insecure Direct Object References (IDOR) и рассматривали один из вариантов защиты:
Что это за вариант?
👉 @sWebDev
Недавно мы рассказывали об уязвимости Insecure Direct Object References (IDOR) и рассматривали один из вариантов защиты:
UserDetails() {
const [user, setUser] = useState(null);
useEffect(() => {
fetch('/api/user', {
headers: {
Authorization: `Bearer ${localStorage.getItem('token')}`
}
})
.then(response => response.json())
.then(setUser);
}, []);
// Рендер деталей пользователя...
}
Что это за вариант?
👉 @sWebDev
👍4
Какой вариант защиты от уязвимости Insecure Direct Object References (IDOR) применен в данном коде?
Anonymous Quiz
36%
Использование локального хранилища для хранения данных пользователя.
11%
Шифрование данных перед их передачей на сервер.
37%
Проверка идентификатора пользователя перед отправкой запроса на сервер.
16%
Использование множественных уровней авторизации для доступа к данным.
👍4👎2
Angular - Обработка ошибок 101
Руководство по обработке ошибок в Angular приложениях. Рассмотрим базовые методы обработки ошибок, такие как использование оператора
👉 @sWebDev
Руководство по обработке ошибок в Angular приложениях. Рассмотрим базовые методы обработки ошибок, такие как использование оператора
catchError
и создание специализированных сервисов для обработки ошибок. Статья также описывает, как настроить глобальный обработчик ошибок. Автор уделяет внимание важности уведомления пользователей об ошибках и предоставляет примеры кода для наглядности.👉 @sWebDev
🔥2
Защита от открытых редиректов React
Открытые редиректы возникают, когда приложение включает в целевой URL пользовательский ввод без предварительной проверки. Это может обмануть пользователей и привести к краже данных.
Для защиты мы можем проверять URL перенаправления перед его использованием. Один из способов сделать это - поддерживать список разрешенных URL:
👉 @sWebDev
Открытые редиректы возникают, когда приложение включает в целевой URL пользовательский ввод без предварительной проверки. Это может обмануть пользователей и привести к краже данных.
Для защиты мы можем проверять URL перенаправления перед его использованием. Один из способов сделать это - поддерживать список разрешенных URL:
const ALLOWED_REDIRECTS = ['/home', '/profile', /* ... */];
function Login() {
const [redirectTo, setRedirectTo] = useState('');
const login = async () => {
// Предположим, что эта функция выполняет вход пользователя...
await loginUser();
if (ALLOWED_REDIRECTS.includes(redirectTo)) {
window.location.href = redirectTo;
}
};
// Отрисовываем форму входа...
}
👉 @sWebDev
👍3
Media is too big
VIEW IN TELEGRAM
3D Globe Three.js with location pointer
Анимированный глобус, выполненный на CSS и библиотеке Three.js.
👉 @sWebDev
Анимированный глобус, выполненный на CSS и библиотеке Three.js.
👉 @sWebDev
👍4
React + Signals = Vue 3
В статье сравнение подходов для обработки сигналов React и Vue3. Рассмотрим различия между двумя фреймворками на примере паттерна "сигналов". Изучив материал, вы сможете выбрать наиболее подходящий инструмент в зависимости от вашего проекта.
👉 @sWebDev
В статье сравнение подходов для обработки сигналов React и Vue3. Рассмотрим различия между двумя фреймворками на примере паттерна "сигналов". Изучив материал, вы сможете выбрать наиболее подходящий инструмент в зависимости от вашего проекта.
👉 @sWebDev
👍4❤1🤔1
AngularFire
AngularFire - это интеграция Firebase в Angular. Мощное сочетание, позволяющее удобно создавать веб-приложения, используя функциональность Firebase: базу данных в реальном времени, аутентификацию, хостинг и другие сервисы.
👉 @sWebDev
AngularFire - это интеграция Firebase в Angular. Мощное сочетание, позволяющее удобно создавать веб-приложения, используя функциональность Firebase: базу данных в реальном времени, аутентификацию, хостинг и другие сервисы.
👉 @sWebDev
👍3
Media is too big
VIEW IN TELEGRAM
Создаем клон Twitter на NextJs и Supabase
Пошаговый туториал по созданию собственного Твиттера на NextJs и Supabase.
👉 @sWebDev
Пошаговый туториал по созданию собственного Твиттера на NextJs и Supabase.
👉 @sWebDev
👍6
Аутентификация в Angular, почему это так сложно уложить в голове
Рассмотрим сложности аутентификации Angular. Автор анализирует сложности и непредсказуемость процесса аутентификации в Angular, обсуждая причины, по которым могут возникать затруднения и предоставляет советы по обеспечению более понятной и надежной системы аутентификации.
👉 @sWebDev
Рассмотрим сложности аутентификации Angular. Автор анализирует сложности и непредсказуемость процесса аутентификации в Angular, обсуждая причины, по которым могут возникать затруднения и предоставляет советы по обеспечению более понятной и надежной системы аутентификации.
👉 @sWebDev
👍3
Media is too big
VIEW IN TELEGRAM
Ant Design Vue
Ant Design Vue - библиотека компонентов для разработки пользовательских интерфейсов с использованием Vue.js. Предоставляет более 50 готовых компонентов, включая кнопки, формы, таблицы, навигацию и многое другое. Ant Design Vue следует дизайн-принципам Ant Design и Material Design, обеспечивая современный и стильный внешний вид. Библиотека предоставляет возможность настройки тем, адаптирования компонентов и управления состоянием приложения.
👉 @sWebDev
Ant Design Vue - библиотека компонентов для разработки пользовательских интерфейсов с использованием Vue.js. Предоставляет более 50 готовых компонентов, включая кнопки, формы, таблицы, навигацию и многое другое. Ant Design Vue следует дизайн-принципам Ant Design и Material Design, обеспечивая современный и стильный внешний вид. Библиотека предоставляет возможность настройки тем, адаптирования компонентов и управления состоянием приложения.
👉 @sWebDev
👍5👎4
Как защититься от CSRF-атак в React?
Представьте, что у нас есть конечная точка /api/posts/delete, которая удаляет сообщение на основе идентификатора, указанного в теле запроса. Если мы будем проверять только cookie для аутентификации, то злоумышленник сможет создать вредоносный сайт со следующим скриптом, например:
👉 @sWebDev
Представьте, что у нас есть конечная точка /api/posts/delete, которая удаляет сообщение на основе идентификатора, указанного в теле запроса. Если мы будем проверять только cookie для аутентификации, то злоумышленник сможет создать вредоносный сайт со следующим скриптом, например:
fetch('https://your-website.com/api/posts/delete', {Как защитить свое приложение в таком случае?
method: 'POST',
body: JSON.stringify({
id: 'some-post-id',
}),
credentials: 'include',
});
👉 @sWebDev
👍4🔥1
Какая защита может помочь предотвратить CSRF-атаки в React?
Anonymous Quiz
13%
Аутентификация по cookie
7%
Использование программного обеспечения для API, такого как Postman
77%
Использование токенов или других методов авторизации для конечных точек
4%
Отключение JavaScript на веб-странице
👍6
Задаем title из компонента Angular
Знаете о том, что title для веб-страницы можно задавать из компонентов Angular?
У Angular есть сервис Title в
При переходе на LoginComponent, заголовок браузера будет установлен как "Login".
👉 @sWebDev
Знаете о том, что title для веб-страницы можно задавать из компонентов Angular?
У Angular есть сервис Title в
@angular/platform-browser
. Мы внедряем сервис Title в наши компоненты и используем метод setTitle
для установки заголовка.import { Component, OnInit } from '@angular/core';
import { Title } from "@angular/platform-browser";
@Component({
...
})
export class LoginComponent implements OnInit {
constructor(private title: Title) {}
ngOnInit() {
this.title.setTitle("Login");
}
}
При переходе на LoginComponent, заголовок браузера будет установлен как "Login".
👉 @sWebDev
👍4❤1
This media is not supported in your browser
VIEW IN TELEGRAM
ScrollOut + Splitting.js
Анимация текста, появляющаяся при скролле страницы. Выполнено на Splitting.js.
👉 @sWebDev
Анимация текста, появляющаяся при скролле страницы. Выполнено на Splitting.js.
👉 @sWebDev
👍9
Angular Super Forms: подтверждение пароля
Рассмотрим реализацию подтверждения пароля в форме на Angular. В статье объясняется почему подтверждение пароля является важным и предлагается руководство по созданию компонента, добавлению необходимых директив и логики валидации через Reactive Forms.
👉 @sWebDev
Рассмотрим реализацию подтверждения пароля в форме на Angular. В статье объясняется почему подтверждение пароля является важным и предлагается руководство по созданию компонента, добавлению необходимых директив и логики валидации через Reactive Forms.
👉 @sWebDev
❤4👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Как я стал фронтендером
1. Смотрел уроки на ютубе
2. Делал портфолио на гитхаб
3. Начал читать Frontend || Vollex
Frontend Vollex выжимает воду из курсов, книг, видеоуроков и заботливо делится самым главным. Гайды, готовый код, тесты и никакой копипасты.
Вы знаете, что делать: @vollex_frontend
1. Смотрел уроки на ютубе
2. Делал портфолио на гитхаб
3. Начал читать Frontend || Vollex
Frontend Vollex выжимает воду из курсов, книг, видеоуроков и заботливо делится самым главным. Гайды, готовый код, тесты и никакой копипасты.
Вы знаете, что делать: @vollex_frontend
👍7👎4
Media is too big
VIEW IN TELEGRAM
Cytoscape.js
Cytoscape.js - это мощный инструмент для визуализации и анализа графовых структур в веб-приложениях. С возможностью кастомизации, анимаций и интерактивности. Библиотека позволяет легко создавать визуально привлекательные графы для отображения связей, данных или сетей. Несмотря на свою небольшую известность, "Cytoscape.js" предоставляет множество расширений и плагинов для дополнительных функциональных возможностей.
👉 @sWebDev
Cytoscape.js - это мощный инструмент для визуализации и анализа графовых структур в веб-приложениях. С возможностью кастомизации, анимаций и интерактивности. Библиотека позволяет легко создавать визуально привлекательные графы для отображения связей, данных или сетей. Несмотря на свою небольшую известность, "Cytoscape.js" предоставляет множество расширений и плагинов для дополнительных функциональных возможностей.
👉 @sWebDev
👍5
Изучение Vue.js в 2023 году: дорожная карта разработчика
Если только начинаете знакомиться с Vue.js, то материал по ссылке будет очень кстати. В статье представлена не только дорожная карта, но и краткий очерк технологий, с которыми предстоит познакомиться.
👉 @sWebDev
Если только начинаете знакомиться с Vue.js, то материал по ссылке будет очень кстати. В статье представлена не только дорожная карта, но и краткий очерк технологий, с которыми предстоит познакомиться.
👉 @sWebDev
👍8❤1🔥1