Tom: stripslashes/mysql_escape_string überprüfen?

Beitrag lesen

Hello,

nun mache ich also bei allen datenbankrelevanten Eingaben diese beiden Komandos.

$_POST['Kategorie'] = stripslashes($_POST['Kategorie']);
 $_POST['Kategorie'] = mysql_escape_string($_POST['Kategorie']);

Geht das auch in einer Zeile?

1. Das ist so viel übersichtlicher, als in einer Zeile
2. Wenn man das gerne zusammenfassen möchte, bietet es sich an,
   eine eigene Funktion dafür zu schreiben, damit es schlußendlich
   wieder übersichtlich bleibt.
3. die Backslashes werden von PHP nur aus Sicherheitsgründen sozusagen
   als kleinster gemeinsamer Nenner aller Datenbanken hinzugefügt
   Man muss sie eigentlich immer wieder entfernen, bevor man die
   Daten irgendwie ausgibt, egal ob HTML oder Textarea oder <input ...>
4. MySQL erfordert auch die Maskierung weiterer Zeichen. Das macht
   mysql_[real_]escape_string() für uns.
5. Man kann also, wenn man daran denkt, vor der Übergabe an die DB-API
   die datenbanktypische Maskierung durchzuführen, den Schaltger in der
   php.ini -> magic_quotes_gpc = on auf OFF stellen. dann muss
   stripslashes() nicht mehr bemüht werden, oder man kann danach fragen,
   wie der Schalter steht, und die Paramterarrays dann "großtechnisch"
   wieder bereinigen. Dazu eigent sich die eigene Funktion strip() in
   diesem Thread weiter unten.

Wie man nun Funktionen für seine Zwecke anpasst, insbesondere wenn sie noch so kurz sind wie diese, das müsstest Du mal selber ergründen.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen