2010-07-18 10 views
5

Ho creato un'applicazione ASP.NET che utilizza l'autenticazione basata su form. Nel nostro pannello di controllo dell'account di hosting, ho impostato un'attività automatica che richiede una pagina Web una volta alla settimana. Quando viene caricata la pagina, viene inviata una serie di e-mail.Trova se la richiesta ASP.NET proveniva dalla macchina locale

Vorrei solo sapere se c'è un modo per determinare nel code-behind se la richiesta proviene dal computer locale (come con l'autenticazione di Windows). L'utilizzo di un file web.config separato nella sottodirectory della pagina con la modalità di autenticazione di Windows non funziona.

L'applicazione funzionerà bene in entrambi i casi. Sto richiedendo che un valore guida specifico sia presente nella stringa di query, quindi è molto improbabile che l'attività venga eseguita per errore. Vorrei solo imparare qualcosa di nuovo mentre sto lavorando a questo, e mi piacerebbe vedere se posso aggiungere questo piccolo extra di verifica.

Grazie mille per qualsiasi consiglio.

risposta

4
Request.Url.IsLoopback 
+0

Questo controlla se il sito è ospitato su 'localhost'. Non se il client si trova sulla stessa macchina del server. – CodeAngry

16
Request.IsLocal 

La proprietà IsLocal restituisce true se l'indirizzo IP della richiesta mittente è 127.0.0.1 o se l'indirizzo IP della richiesta è la stessa di l'indirizzo IP del server.

+0

È possibile eseguire lo spoofing? –

+0

@AlbertBori vedere http://stackoverflow.com/questions/19010217/is-request-islocal-secure-or-can-it-be-spoofed –

+0

non funziona con CDN come CloudFlare – jjxtra

Problemi correlati