Attualmente sono uno sviluppatore che fa la mia prima incursione nello sviluppo web, principalmente utilizzando servizi C # ASP.NET come MVC e Web API. Entrando nel lato HTTP delle cose, attualmente sto decidendo se usare o meno POST o GET quando accedo ai miei modelli di dati.
Ovviamente, utilizzerei il POST quando il mio livello di repository comunica con le origini dati, ma quando suppongo che il mio controller analizzerà l'input dell'utente (essendo questa un'app web frontale), mi sono innervosito a pensare passare valori di informazione un po 'sensibili su HTTP GET, visto che verrebbero inseriti attraverso l'URL. Ricordando in educazione quanto i pericoli di SQL Injection sono stati battuti in noi, ho una (infondata) impressione che dovrei usare il POST solo quando accedo al mio repository che comunica con i miei database.
Sono corretto nel presupporre che ci siano problemi di sicurezza validi con l'utilizzo di GET HTTP per inviare parametri a un livello di repository che comunica con i miei database?
Ovviamente, applicheremo la convalida a entrambe le estremità, ma mi sembra che GET abbia una gamma di attacchi più ampia rispetto al POST. Mi piacerebbe che la mia convalida fosse stretta e rigorosa.