Sto lavorando a un progetto web che consente a una persona di inviare un modulo di richiesta alla mia API. Ogni visitatore può inviare una richiesta tramite tale modulo senza effettuare il login.
Attualmente l'API genera un token quando la pagina viene aperta per la prima volta e il token viene quindi restituito con il modulo di richiesta POST. Ma quel token può essere usato per inviare un'altra richiesta POST. Ancora peggio se un utente malintenzionato conosce il token, può inviare una richiesta POST con qualche script senza visitare il sito Web.
Attualmente invalido il token dopo un certo periodo di tempo. Ma nel frattempo, l'attaccante può inviare più richieste con uno script Ajax. Intendo invalidare il token dopo ogni richiesta POST, ma ciò non impedisce all'hacker di inviare più richieste POST perché possono anche richiedere un nuovo token prima di ogni richiesta POST.
C'è un modo per impedire a un utente malintenzionato di inviare più richieste da uno script dannoso, senza utilizzare il modulo sul mio sito web?