Сейчас я работаю над системой двухфакторной аутентификации. Я генерирую QR-код в формате Base64 на серверной стороне. Я получаю это с помощью маршрута app.get.
Проблема в том, что любой пользователь, знающий URL-адрес, может получить этот код Base64. В моем случае: http://localhost:3000/generate-qr/User123
Как я могу запретить пользователю доступ к этому URL-адресу? Каков наиболее эффективный способ предотвратить это?
Это мой код JavaScript (Backend):
app.get('/generate-qr/:username', async (req, res) => {
const {username} = req.params;
try {
const connection = await connectToDatabase();
const [rows] = await connection.execute('SELECT secret_key FROM authenticator.members WHERE account_name = ?', [username]);
if (rows.length === 0) {
return res.status(404).json({error: 'User not found'});
}
const secret_key = rows[0].secret_key;
const service = 'UniversalCW';
const oneTimePasswordAuthenticator = authenticator.keyuri(username, service, secret_key);
qrcode.toDataURL(oneTimePasswordAuthenticator, (error, imageURL) => {
if (error) {
console.error('Error with QR code:', error);
return res.status(500).json({error: 'Error generating QR code'});
}
res.json({qrcode: imageURL});
});
} catch (error) {
console.error(error);
res.status(500).json({error: 'Internal server error'});
}
});
Подробнее здесь: https://stackoverflow.com/questions/793 ... tion-route
Запретить несанкционированный доступ к маршруту генерации QR-кода ⇐ Javascript
Форум по Javascript
-
Anonymous
1737823551
Anonymous
Сейчас я работаю над системой двухфакторной аутентификации. Я генерирую QR-код в формате Base64 на серверной стороне. Я получаю это с помощью маршрута app.get.
Проблема в том, что любой пользователь, знающий URL-адрес, может получить этот код Base64. В моем случае: http://localhost:3000/generate-qr/User123
Как я могу запретить пользователю доступ к этому URL-адресу? Каков наиболее эффективный способ предотвратить это?
Это мой код JavaScript (Backend):
app.get('/generate-qr/:username', async (req, res) => {
const {username} = req.params;
try {
const connection = await connectToDatabase();
const [rows] = await connection.execute('SELECT secret_key FROM authenticator.members WHERE account_name = ?', [username]);
if (rows.length === 0) {
return res.status(404).json({error: 'User not found'});
}
const secret_key = rows[0].secret_key;
const service = 'UniversalCW';
const oneTimePasswordAuthenticator = authenticator.keyuri(username, service, secret_key);
qrcode.toDataURL(oneTimePasswordAuthenticator, (error, imageURL) => {
if (error) {
console.error('Error with QR code:', error);
return res.status(500).json({error: 'Error generating QR code'});
}
res.json({qrcode: imageURL});
});
} catch (error) {
console.error(error);
res.status(500).json({error: 'Internal server error'});
}
});
Подробнее здесь: [url]https://stackoverflow.com/questions/79387112/prevent-unauthorized-access-to-qr-code-generation-route[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия