Комментарии 10
Похоже, дубль: https://habr.com/ru/articles/821225/
Причем не единственный :-)
https://habr.com/ru/articles/821221/
https://habr.com/ru/articles/821223/
https://habr.com/ru/articles/821225/
Хотя это может глючит новый редактор или весь Хабр заболел :-(
Подозреваю, что просто интернет "моргнул" при отправке. Сам сталкивался (правда, на других сайтах).
Интересно что ID записей нечетные,
при этом если попробовать зайти на четные то хабр отвечает:
"Страница устарела, была удалена или не существовала вовсе"
Меня всегда удивляли, почему нет никакой защиты у практически любого сайта со статьями? Тот же обычный хэш статей хранить и сравнивать, есть ли повтор. Да, у того же md5 может быть коллизия, но можно проверять хотя бы за последний час.
Либо сделать элементарную проверку через JavaScript блокирующий нажатие кнопки много раз. Эх сразу видно, программисты не работали с Arduino или другими устройствами, где есть физическая кнопка и нужно правильно обрабатывать импульс его нажатия, чтобы не было многократных срабатываний.
Либо сделать элементарную проверку через JavaScript ...
Так может это и отрабатывает какая-то другая проверка для защиты, но чего-то другого :-)
Меня всегда удивляли, почему нет никакой защиты у практически любого сайта со статьями? <...>
Возможно, подобные ситуации возникают недостаточно часто для того, чтобы заморачиваться.
Либо сделать элементарную проверку через JavaScript блокирующий нажатие кнопки много раз. <...>
Согласен, в простейшем случае достаточно отключать кнопку (sendButton.disabled = true) после первого нажатия. Хотя в суровой действительности такой подход может создать дополнительные проблемы.
P.S. Нашел статью на эту тему: Don't disable buttons
Ну так-то это немного о другом статья, а именно, что disabled = true делает кнопку невидимой для скринридеров. Но никто не запрещает поменять ей стиль, а в обработчике делать проверку на `isSending`. А ещё, как вариант, можно было бы генерировать случайный токен, которым затем проверять запросы на дублирование. Это даже лучше в случае с микросервисами.
Вы хотите, чтобы на техническом портале обеспечили идемпотентность запросов? Да ну, бред какой-то :)
Вышел релиз GitLab 17.0 с каталогом CI/CD в общем доступе и новой метрикой аналитики цикла разработки AI Impact