2011-09-16 14 views
7

Ho un sistema che registra le informazioni e talvolta trova un particolare indirizzo IP che fa qualcosa di brutto, come provare a sfruttare phpMyAdmin (anche se non è nemmeno installato sul sistema).Stato HTTP corretto da restituire per tentativi di hacking

Quando trovo questi criminali, aggiungo l'indirizzo IP a un elenco di blocco che restituisce un piccolo messaggio indipendentemente dal fatto che la pagina esista o meno e registri l'indirizzo IP e la loro stringa di interrogazione in modo da poterli tenere sotto controllo.

Il problema è che molti di essi sembrano essere script che eseguono la scansione e sto ancora tecnicamente restituendo un codice di stato HTTP di 200 con il piccolo messaggio. Voglio essere più avanti con il codice di stato, ma non sono sicuro quale si possa applicare meglio.

Ho trovato la lista here e sembra che sia meglio applicare 401 o 403. Qual è il miglior codice per "mettere al bando" un indirizzo IP?

+1

Spesso è meglio lasciare semplicemente la connessione interamente, preferibilmente al firewall, piuttosto che dare una risposta HTTP. – geoffspear

+0

questo non è materiale stackoverflow. Farebbe meglio ad adattarsi a serverfault. – unixman83

+4

reindirli a 'fbi.gov' – Michelle

risposta

8

403 o 404 è più adatto. Vedere il riferimento per 403:

"(...) Se il metodo di richiesta non era HEAD e il server desidera rendere pubblico perché la richiesta non è stata soddisfatta, DOVREBBE descrivere il motivo del rifiuto nell'entità Se il server non desidera rendere queste informazioni disponibili al client, è possibile utilizzare invece il codice di stato 404 (non trovato). "

Fonte: https://tools.ietf.org/html/rfc2616#section-10.4.4

Ad esempio si può restituire uno stato 403 - Forbidden e descrivere la ragione nel corpo di risposta. Non sono sicuro se sia consentito restituire un codice di stato come 403 - Banned for .... In ogni caso, gli utenti innocenti sono probabilmente particolarmente interessati al motivo per il 403.

Problemi correlati