Asp.net c # e registrazione dell'accesso ip su ogni pagina e frequenza
-
01-07-2019 - |
Domanda
Esistono moduli predefiniti per questo? C'è un evento che viene chiamato ogni volta che viene caricata una pagina? Sto solo cercando di proteggere una delle mie sezioni di amministrazione più importanti.
Soluzione
Come detto blowdart, la semplice registrazione degli indirizzi IP è già gestita da IIS. È sufficiente fare clic con il pulsante destro del mouse sul sito Web nello strumento Gestione IIS (Internet Information Services), accedere alla scheda Sito Web e selezionare la casella Abilita registrazione. È possibile personalizzare anche le informazioni registrate.
Se si desidera limitare il sito o anche una cartella del sito a IP specifici, basta accedere alle proprietà Sito o cartella IIS che si desidera proteggere in Gestione IIS, fare clic con il tasto destro e selezionare Proprietà. Scegli la scheda Protezione directory. Nel mezzo dovresti vedere gli indirizzi IP e le restrizioni sui nomi di dominio. Qui sarà dove puoi impostare quali IP bloccare o consentire.
Se vuoi farlo in modo programmatico nel code-behind di ASP.Net, puoi usare l'evento preinit di pagina.
Altri suggerimenti
Altre informazioni, per favore; vuoi registrare gli IP o bloccare l'accesso tramite IP? Entrambe queste funzioni sono integrate in IIS anziché in ASP.NET; stai cercando come limitare l'accesso via IP a livello di codice?
È possibile utilizzare quanto segue per ottenere l'indirizzo IP di un utente:
Request.ServerVariables [" REMOTE_ADDR "]
Una volta ottenuto l'IP, dovrai scrivere qualcosa di personalizzato per registrarlo o bloccarlo tramite IP. Non c'è qualcosa incorporato in asp.net per fare questo per te.
" C'è un evento che viene chiamato ogni volta che viene caricata una pagina? "
Page_Load potrebbe essere quello che stai cercando.
Tuttavia, e non sto davvero cercando di essere cattivo qui, se non lo sai, probabilmente non dovresti provare a proteggere l'app. Non sei abbastanza esperto in .Net
Sono sicuro che sei bravo in quello che fai, in qualunque piattaforma tu abbia esperienza. Ma .Net WebForms non è il tuo forte. Questa è una di quelle volte in cui dovresti tornare indietro e lasciare che qualcun altro lo gestisca.