Questo mi confonde. Supporrei che il webmethod seguisse le stesse regole di autorizzazione impostate in web.config come la pagina su cui si trova. Eseguirà prima il normale ciclo di vita della pagina? Nel mio caso c'è una logica extra in un basepage che controlla ulteriori permessi. Questa logica verrà eseguita prima che il webmetod venga chiamato per impedire agli utenti non autorizzati ad accedere a quella pagina?Un metodo web in codebehind è sicuro quanto la pagina in cui si trova?
8
A
risposta
7
Un webmethod deve essere statico e non segue il normale ciclo di vita ASP.NET.
In un metodo web, non è possibile accedere alla sessione o ai controlli sulla pagina.
Dal momento che non passerà attraverso tutti gli eventi, non penso che il tuo PreInit sarà chiamato così non sarai in grado di limitare l'accesso attraverso questo.
1
La linea di fondo è un metodo web molto meno sicuro rispetto all'utilizzo del metodo tradizionale asmx web. Anche se è possibile che il metodo appaia in /default.aspx/MyWebMethod, non verrà utilizzato nessuno dei moduli integrati di sicurezza e potrà essere richiamato da qualsiasi punto dell'applicazione.
Problemi correlati
- 1. Quanto è sicuro aggiornare la base?
- 2. quanto è sicuro $ _SERVER ["HTTP_HOST"]?
- 3. Quanto è sicuro openID?
- 4. Quanto è sicuro un appDomain in modalità sandbox con SecurityPermissionFlag.Execution?
- 5. Quanto è sicuro utilizzare document.body.innerHTML.replace?
- 6. Quanto è sicuro un canale TCP aperto, sicuro?
- 7. Ottieni la directory in cui si trova il codice eseguito
- 8. Quanto è sicuro le informazioni fuori schermo?
- 9. Programmazione mobile: quanto è sicuro SMS
- 10. Quanto è sicuro laravel 5.1?
- 11. PHP Mcrypt, quanto è sicuro?
- 12. Quanto è sicuro chiamare gli URL "segreti" in un'app iOS?
- 13. Quanto è sicuro un POST HTTP?
- 14. Trova la posizione in cui è archiviato l'handle nell'oggetto
- 15. quanto è sicuro il php curl in ssl/https?
- 16. Quanto è sicuro un reindirizzamento dell'intestazione? Può essere bypassato?
- 17. Quanto è sicuro l'utilizzo di Maven?
- 18. Quanto può essere lunga una pagina web?
- 19. È sicuro usare ReaderWriterLockSlim in un metodo asincrono
- 20. Trova la data/l'ora in cui è stata creata la colonna di un tavolo
- 21. Quanto è sicuro MD5 e SHA1
- 22. Quanto è sicuro `unsafePerformIO (newTVarIO 0)`?
- 23. Quanto è sicuro memorizzare la password con Git?
- 24. Ottieni la classe in cui è stato definito il metodo?
- 25. Quanto è sicuro memorizzare la sessione con Redis?
- 26. Conversione di CodeFile in CodeBehind
- 27. Trova frase specifica in una pagina Web utilizzando PowerShell
- 28. Android: quanto è sicuro il database pieno di applicazioni
- 29. Trova tutte le sottostrutture in un BST le cui chiavi si trovano in un determinato intervallo
- 30. Dove si trova un luogo sicuro in cui archiviare i file di registro compatibili con XP, Vista e Windows 7?
Come viene implementata la logica aggiuntiva? Su quale evento viene eseguito? – Oded
Quando dici le stesse regole della pagina su cui si trova, vuoi dire che hai un ASMX e ASPX nella stessa applicazione web, cioè sotto lo stesso web.config? Se stai chiamando ad un ASMX in una diversa applicazione web sarà diverso. – Rup
stessa applicazione web. Vorrei solo mettere il webmethod nel codebehind poiché le chiamate ajax verranno solo dalla pagina aspx. Sono consapevole che probabilmente starò meglio usando un gestore, ma non ho il pieno controllo su questo progetto, quindi mi piacerebbe contenere il codice nella pagina stessa. – Mike