Attualmente sto cercando di capire come prevenire CSRF.
La mia prima soluzione era usare un token che è suggerito ovunque. Ovviamente risolverebbe questo problema:
<img src="http://api.example.com/me/delete">
Maquellochenonriescoacapireèquello.
GEThttp://api.example.com/me/delete
Effettivamentefalliràperchéuntokenvalidononèarrivatoconquellarichiesta,macosaimpedisceaunutentemalintenzionatodifarequantosopraeinvecedifaresoloilseguente
GEThttp://api.example.com/me/token/generate//parsetheresponseGEThttp://api.example.com/me/delete?token=...
Iltokenvalidoèstatopassatolungolarichiesta,ilmioutenteèoracancellato...
LamiaAPIRESTconsenteaqualsiasirichiestadiarrivare.
header("Access-Control-Allow-Origin: " . $_SERVER["HTTP_ORIGIN"]);
Il motivo per cui ho "bisogno" è che, non sto solo usando l'API REST sul dominio stesso attraverso moduli e JavaScript. Ma sto facendo richieste usando cURL in C ++.
Se i token in questo caso non sono una soluzione "sicura", allora quale sarebbe / potrebbe essere una soluzione più sicura / migliore?
Inoltre cosa fa Spotify, mentre entrambi hanno la loro "Web API" e il software musicale stesso?
Inoltre, so che questo è molto interessante, ma è possibile consentire qualsiasi accesso alla mia API ma avere un'autenticazione per origine?
In tal modo che se il collegamento è "connesso" all'API, ciò non significa che link è (o successivo quando si richiede l'uso di cURL).
So che questo è inverosimile, poiché la "soluzione" sarebbe controllare l'intestazione di origine, ma ciò può essere falsificato.