Black list validation is weak because attackers can bypass it using various character encoding techniques (URL encoding, Unicode, double encoding, etc.) to represent blocked characters in ways the filter doesn't recognize. Being hard-coded (A) doesn't make it weak. POST method handling (C) isn't specifically problematic for black lists. Black lists don't match good patterns (D) - they block bad ones.