Potresti richiedere prova di lavoro , richiedendo che ogni invio sia allegato con una prova di lavoro, una stringa che quando viene aggiunta all'URL originale, produce una stringa che, quando è stata sottoposta a hash, aveva un numero specificato di zeri binari. Il numero di zeri richiesti potrebbe essere configurato in base al carico del sistema.
Questo funziona per ridurre un attacco (D) DOS dall'inquinamento del database con URL di spam. Non protegge dall'attacco DDOS volumetrico, che porterà comunque il tuo servizio verso il basso. Per proteggersi dall'aspetto volumetrico del DDOS, dovrai replicare i tuoi server. Hai bisogno di un server in molte parti del mondo che verificherà che l'invio dell'URL sia valido (la prova di lavoro è valida), prima di inviare la richiesta al database centrale.
Inoltre, potresti anche voler controllare che l'URL espanso esista e sia accessibile prima di accettare l'invio, anche se ci sono dei motivi per cui l'URL che potrebbe non essere risolvibile potrebbe comunque essere utile ad altre persone (es. collegamenti a servizi interni, URL non HTTP).