Sono obbligato per contratto a impedire l'enumerazione dei parametri di un metodo API ma non riesco a raggiungerlo.
Quando invio una richiesta vuota al server API in un browser Web, il server risponde con i parametri esatti richiesti da quel metodo API. Questo rende molto più facile il lavoro di un utente malintenzionato perché sa esattamente quali dati inviare a quel metodo API.
Ad esempio, se inserisco link in un browser web, ottengo una risposta, simile alla seguente, contenente i parametri esatti usati da quel metodo:
{"initObj": {"Locale":
{"LocaleLanguage":"","LocaleCountry":"","LocaleDevice":"","LocaleUserState":"PossibleValue1 || PossibleValue2"},
”Another Parameter":""”,"AnotherParameter”:”PossibleValue1 || PossibleValue2"},
"username": "", "password": ""}
Questa informazione dice esattamente al malintenzionato quali dati inviare al metodo API rendendolo molto più facile da attaccare.
Quello che devo fare è impedire al server di rispondere con queste informazioni quando viene inviata una richiesta vuota.
Naturalmente, questi parametri vengono sempre inviati tramite POST, non GET come quando invio l'URL nel browser web. Quindi, una soluzione è prevenire le richieste GET.
Come posso evitare queste risposte dal server senza fare affidamento su questo lavoro?