Как создать собственный URL для веб-приложения React Survey - PullRequest
0 голосов
/ 01 июня 2018

Я делаю приложение Survey.Стек будет React + Redux + postgresql + heroku + Stripe.

Идея состоит в том, что владелец бизнеса может создать опрос.Например, 5 вопросов и после того, как он отправит его на 10 человек.

Все 10 человек получат уникальный URL-адрес, который будет указывать на опрос.

После завершения опроса владелец бизнеса должен увидетьрезультаты на его веб-статистике.

Есть ли библиотека, которая позволяет генерировать уникальные URL для опросов?Или как это можно реализовать?

1 Ответ

0 голосов
/ 01 июня 2018

Полагаю, вы используете node.js в качестве бэкэнда.В этом случае я рекомендую использовать: crypto.randomBytes (size) .toString ('hex') ( docs )

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

Использование сторонней библиотеки приведет только к ненужным рискам ошибок или небезопасных реализаций.

Для выбора подходящего размера вы, возможно, захотите прочитать это: https://www.owasp.org/index.php/Insufficient_Session-ID_Length Поскольку ваш случайный URL является просто своего рода идентификатором сеанса, это относится и к вашему случаю.

Другие важныена что стоит обратить внимание:

  • Наличие грубой силы защиты, которая блокирует IP-адреса после определенного количества неудачных попыток в течение определенного времени
  • Регистрация неудачных попыток, чтобы иметь возможность обнаружить атаки.
  • Аннулирование URL-адресов после одного использования.В противном случае личная информация может быть пропущена, или вы можете выставить опросы не приглашенным людям.Это связано с тем, что URL-адрес может быть открыт на общедоступном компьютере и сохранен в истории браузера.

РЕДАКТИРОВАТЬ: Возможно, вы захотите прочитать owasp.org в целом, поскольку он содержит ценныеинформация о веб-безопасности, которая может помочь сделать ваше приложение более безопасным.

...