$self->{CONTENT} = eval{ $gegeben = hex($gegeben); $gegeben == $user ? "$user ist Richtig!" : "Falsch! ($gegeben)"; } || "Alles Falsch!";
Du maskierst nicht kontextgerecht, der Code is anfällig für Cross-site-scripting-Attacken.
Das ist weder fachlich noch sachlich begründet!
Wenn
$gegeben
die Zahl0
ist, dann gibt der Vergleich$gegeben == $user
auf jeden Falltrue
zurück. In dem Fall wird die Variable$user
unmaskiert ausgegeben.
Nein. Und da wird nichts unmaskiert ausgegeben. Weil der Operator ==
einen numerischen Vergleich einfordert. So wird der ganze Block zu undef und ausgegeben wird "Alles Falsch!"
MfG