Ho un server Web di back-end che serve un'API (su HTTPS) a un client browser frontend su un sottodominio diverso. Usa CORS per consentire questo.
Le specifiche CORS ti invitano a non inviare le intestazioni CORS se l'origine non è presente o non corrisponde al tuo elenco di origini consentite, cosa che faccio io.
Ma la sezione 6.3 aggiunge che:
In addition to checking the Origin header, resource authors are strongly encouraged to also check the Host header. That is, make sure that the host name provided by that header matches the host name of the server on which the resource resides. This will provide protection against DNS rebinding attacks.
Questo è prezioso da aggiungere al nostro server API? La mia comprensione è che il rebinding DNS è un attacco che eseguiresti per accedere a qualcosa su un sistema locale come un router, quindi non sono sicuro che ciò si applichi a noi.
Se dovessimo controllare l'intestazione Host
, quale azione dovremmo intraprendere? Semplicemente non restituendo le intestazioni CORS, o rifiutando del tutto la richiesta? La prima opzione ha più senso per me, poiché altrimenti la raccomandazione non apparterrebbe a una specifica CORS, ma il documento non è chiaro.