echo $begrüßung;
ich prüfe jetzt auf folgende worte in string um sql injections besser abzuwehren:
$sql_alerts=array("select","delete","update","insert","into","drop","from","where","exec","SELECT","DELETE","UPDATE","INSERT","INTO","DROP","FROM","WHERE","EXEC");
Damit prüfst du nur einen Teil der möglichen SQL-Statements. Diese Prüfung würde ich so nicht vornehmen, sondern einfach nur dafür sorgen, dass die Eingabewerte nicht als Befehlsbestandteil angesehen werden können, sprich: richtig maskieren. Falls doch jemand eine SQL-Injection probiert, wird der zwar keinen Erfolg haben, ich aber nun unsinnige Daten in der DB. Doch unsinnige Daten bestehen ja nicht nur aus SQL-Statements. Wenn mir jemand Arbeit machen wollte, hat er noch viel mehr Möglichkeiten Unsinn einzugeben.
Groß- und Kleinschreibung musst du nicht extra prüfen. Du müsstest dann noch auf viel mehr Schreibweisen testen, beispielsweise 'SeLeCt', 'SELect', usw. Es gibt die meisten Stringfunktionen auch in einer caseinsensitiven Version, zu erkennen meist an einem eingeschobenen i im Namen.
Wie prüfe ich jetzt auf Zeilenumbrüche in einem Wert für den Mail-Header? \n? oder?
Im Prinzip hat alles was einen ASCII-Wert kleiner als 32 hat, nichts in einem Wert verloren, den man in einen Mailheader einzufügen gedenkt.
echo "$verabschiedung $name";