Gesetzt der Fall, ich hätte ein Eingabefeld, das clientseitig auf 12 chars beschränkt ist. Ein Client hebelt das in den Entwicklertools aus und sendet 24 chars durch den Äther. Welchen Statuscode hieltest du für angemessen?
400 - Bad Request?
406 - Not Acceptable?
412 - Precondition Failed?
Je nach Gustus 403 oder 404. Man kann sich auch einen Spaß mit 418 machen. Grund: Es ist nicht mein Job, Angreifer genau, wahrheitsgemäß und umfassend auf die Ursache deren Scheiterns hinzuweisen. Angriffen geht regelmäßig ein Set von bekannten Penetrationstests voraus… Sperrt man die dann per Firewall aus suchen die sich einen woanders einen Idiot. (Freilich sollte man an eine „whitelist“ denken - etwa die IPs der Rechner/Netzwerke auf/in denen man gewöhnlich entwickelt.
Auf bestimmte Versuche (e.g. Zugriffe auf /wp-admin/
oder /phpmyadmin/
) reagiere ich ergo sogar, in dem ich die Angreifer-IP eine Weile lang sperre.