Mahlzeit dedlfix,
Er muss aber immer zünden, nicht nur bei Eingabewerten.
Das weißt Du. Das weiß ich. Das wissen viele andere (hier im Forum und anderswo). Es gibt aber immer wieder viel zu viele Leute, denen das nicht so bewusst ist. Und denen fällt bei einem
$sql = "SELECT foo FROM bar WHERE id = ".$_POST['id'];
meistens eher auf, dass dort ja mit potentiell unsicheren Werten gearbeitet wird und man diese noch speziell behandeln sollte als bei einem
$sql = "SELECT foo FROM bar WHERE id = $id";
Schau Dir nur die ständigen Fragestellungen hier im Forum zu genau diesem Thema an ...
Es geht mir nicht (und ging mir nie) darum, dass alles gut wird, wenn man nur dieses unsinnige Umkopieren lässt. Und natürlich hast Du Recht, dass Kontextwechsel *IMMER*!!!111einseinsELF beachtet werden müssen.
Mir ging es nur darum, es Anfängern zu erleichtern, daran auch zu denken. Und da hilft IMHO das Eine beim Anderen ...
Mag sein, aber das ist nicht ausreichend genug. Deswegen sehe ich das nicht als besonders gutes Kriterium an.
Mag sein, aber ich finde, man sollte es Anfängern so gut es geht erleichtern, guten und sicheren Code zu schreiben. Dazu gehört natürlich, ihnen von Beginn an beizubringen, Kontextwechsel zu beachten - diese sind aber gerade für Anfänger nicht immer leicht zu erkennen.
Dazu gehört aber außerdem, ihnen dieses unsägliche Umkopieren abzugewöhnen. Und wenn das schon bewirkt, dass sie beim Zusammenbasteln von Strings, bei dem Kontextwechsel zu beachten sind, stutzig werden, dann erleichtert ihnen das dann, dort richtig(er) zu handeln.
MfG,
EKKi
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|