Michael Engel
Erfahrenes Mitglied
Also Die Funktion generell enhält 2 wichtige teile.. als erstes eine RegEx und das 2. ist eine funktion die auf die gefunden Elemente angewand wird.
% sind die Begrenzer der Expression
' sind die Anfürhungszeichen nach denen er sucht.
.* Punkt ist ein beliebiges Zeichen, Stern beliebig oft... also alles was zwischen zwei ' steht.
die () braucht man nur für das callback das eben dieser String zurückgeliefert wird
Im Endeffekt macht es "Wende die Funktion auf alles an was zwischen 2 Anführungszeichen steht"
Allerdings kommt mir gerade das du das warscheinlich vergessen kannst, da man nicht sicher sagen kann ob das ' nun das Ende deiner zuweisung ist, oder der Anfang der SQL-Injektion. Die SQL Abfrage hinterher zu prüfen ist meiner Meinung nach wie vor ein schlechter weg. mit Type-Casting und die Werte ggf. zu escapen ist auf jeden Fall der sichere Weg.
Edit: Darf man fragen waum das nicht in Frage kommt?
Code:
"%'(.*)'%Us"
% sind die Begrenzer der Expression
' sind die Anfürhungszeichen nach denen er sucht.
.* Punkt ist ein beliebiges Zeichen, Stern beliebig oft... also alles was zwischen zwei ' steht.
die () braucht man nur für das callback das eben dieser String zurückgeliefert wird
Im Endeffekt macht es "Wende die Funktion auf alles an was zwischen 2 Anführungszeichen steht"
Allerdings kommt mir gerade das du das warscheinlich vergessen kannst, da man nicht sicher sagen kann ob das ' nun das Ende deiner zuweisung ist, oder der Anfang der SQL-Injektion. Die SQL Abfrage hinterher zu prüfen ist meiner Meinung nach wie vor ein schlechter weg. mit Type-Casting und die Werte ggf. zu escapen ist auf jeden Fall der sichere Weg.
Edit: Darf man fragen waum das nicht in Frage kommt?