2011-09-16 7 views
7

Tengo un sistema que registra información y algunas veces encuentra una dirección IP particular que hace algo desagradable, como intentar explotar phpMyAdmin (aunque ni siquiera esté instalado en el sistema).Estado de HTTP adecuado para devolver para intentos de piratería

Cuando encuentro estos delincuentes, agrego la dirección IP a una lista de bloqueo que devuelve un pequeño mensaje si la página existe o no y registro la dirección IP y su cadena de consulta para poder controlarlos.

El problema es que la mayoría de ellos parecen ser scripts que escanean, y todavía estoy devolviendo técnicamente un código de estado HTTP de 200 con el pequeño mensaje. Quiero ser más directo con el código de estado, pero no estoy seguro de cuál se aplica mejor.

Encontré la lista here, y parece que 401 o se aplican mejor. ¿Cuál es el mejor código para "prohibir" una dirección IP?

+1

A menudo es mejor desconectar la conexión por completo, preferiblemente en el firewall, en lugar de dar una respuesta HTTP en absoluto. – geoffspear

+0

esto no es material de stackoverflow. Encajaría mejor en serverfault. – unixman83

+4

redirigirlos a 'fbi.gov' – Michelle

Respuesta

8

403 o 404 es el más adecuado. Ver la referencia para 403:

"(...) Si el método de la petición no fue HEAD y el servidor quiere hacer público qué la petición no se ha cumplido, es conveniente describir la razón de la negativa de la entidad . Si el servidor no desea que esta información esté disponible para el cliente, se puede usar el código de estado 404 (No encontrado) ".

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

Por ejemplo, puede devolver un estado 403 - Forbidden y describir la razón en el cuerpo de la respuesta. No estoy seguro de si está permitido devolver un código de estado como 403 - Banned for .... En cualquier caso, los usuarios inocentes probablemente estén especialmente interesados ​​en el motivo del 403.

Cuestiones relacionadas