Questo è nei moduli Web ASP.NET, ho un pulsante di salvataggio su uno schermo. Quando carico la pagina inizialmente, in determinate condizioni, il pulsante di salvataggio non viene visualizzato.Un client può accedere a un evento di clic del pulsante a livello di codice se il pulsante non viene visualizzato?
button1.visible = false
Nel mio pulsante cliccato evento, ho questo
public void button1_click(Object sender, EventArgs e)
{
SaveData();
}
L'unica sicurezza impedendo all'utente di essere il salvataggio è se il pulsante di salvataggio è reso.
In MVC, sarebbe banale accedere al metodo di azione del pulsante di salvataggio semplicemente eseguendo un POST HTTP sul server con la mia richiesta modificata.
Nei moduli Web ASP.NET, sono un po 'confuso perché si basa sul ViewState crittografato che viene posticipato. Devo ancora aggiungere questa sicurezza anche all'evento button1_click? In tal caso, puoi dirmi in che modo un client può attivare un postback sul server che raggiungerà l'evento click del pulsante senza che il pulsante sia visibile?
Sicuramente una domanda interessante. Anche se indipendentemente da qualsiasi risposta, probabilmente andrei con "supponiamo che la richiesta possa essere falsificata e controlli sempre l'autorizzazione". La sicurezza dovrebbe * sempre * accadere quando si gestisce la richiesta, non quando si presenta all'utente l'opzione per la richiesta. Quest'ultimo è solo UX, non di sicurezza. – David
@david - sì sicuramente. Sono più interessato a come questo potrebbe essere potenzialmente sfruttato – Diskdrive
È "banale", come dici tu in MVC solo se non riesci ad implementare le funzionalità di sicurezza di base, e lo stesso vale per i Web Form di ASP.NET. È assolutamente _può essere potenzialmente sfruttato_ (a meno che tu non faccia affidamento su molti "se e ma"). –