strip Funktion wie einsetzen?
Jeena Paradies
- php
0 Harry
Hallo,
Tom hat hier </archiv/2004/2/73950/#m426163> diese Funktion gepostet die ich auch gerne einsetzen würde:
#-----------------------------------------------
function strip($_data)
{
if (!get_magic_quotes_gpc())
{
return $_data;
}
if (is_array($_data))
{
foreach($_data as $key => $val)
{
$data[$key] = strip($val);
}
}
else
{
$_data = stripslashes($_data);
}
return $_data;
}
#-----------------------------------------------
$_POST = strip($_POST);
#===============================================
Nun verstehe ich schon wie die Funktion funktioniert und ich wei auch dass ich bevor ich das in die Datenbank reinbringen will es escapen soll usw.
Doch eines verstehe ich nicht. Wo soll ich $_POST = strip($_POST); einsetzen? Ich habe das mal einfach vor alles andere hingestellt aber da wird nichts escapet. Irgendwie verstehe ich nicht wie das aufgerufen wird.
Grüße
Jeena Paradies
Holladiewaldfee,
Doch eines verstehe ich nicht. Wo soll ich $_POST = strip($_POST); einsetzen?
Wenn Du magic_quotes aktiviert hast, bekommst Du ja alle Strings aus einem Request mit Escape-Zeichen zurück. Da es aber durchaus Fälle gibt, wo sowas nicht gewünscht ist, ist die Funktion doch ganz praktisch :)
Ich habe das mal einfach vor alles andere hingestellt aber da wird nichts escapet.
Nimm mal ein x-beliebiges Formular und gib ", ' oder \ ein.
Ciao,
Harry
Hallo,
Nimm mal ein x-beliebiges Formular und gib ", ' oder \ ein.
Das habe ich ja [http://jeenaparadies.servebeer.com/open/Webs/jeenas-home5/weblog/]
Und dort sieht es so aus:
[alles mögliche davor aber kein PHP]
<div id="main">
<h1>Jeenas Weblog</h1>
<?php
function strip($_data)
{
if (!get_magic_quotes_gpc())
{
return $_data;
}
if (is_array($_data))
{
foreach($_data as $key => $val)
{
$data[$key] = strip($val);
}
}
else
{
$_data = stripslashes($_data);
}
return $_data;
}
#-----------------------------------------------
$_POST = strip($_POST);
#===============================================
include("../scripte/datenbank.class.php");
include("../scripte/kommentar.class.php");
#-----------------------------------------------
$blogcomment = new Kommentieren();
if (empty($_POST["form_submitted"])) {
$blogcomment->neue_id();
$blogcomment->formular_ausgeben();
}
else {
$blogcomment->daten_holen();
if($blogcomment->validieren() == false) {
$blogcomment->fehler_ausgeben();
$blogcomment->formular_ausgeben();
}
else {
$blogcomment->userdaten_bereinigen();
$blogcomment->in_datenbank_schreiben();
$blogcomment->danke_schreiben();
}
}
?>
</div>
Sonst mache ich nirgendwo was mit slashes. Du kannst es slebst ausprobieren wenn du die E-Mail Adresse falsch schreibst also z.B. ohne @ dann kommt das ausgefüllte Formular noch mal mit hinzugefügten Slashes. Ich dachte dass sie dann weg wären aber nein.
Grüße
Jeena Paradies
Holladiewaldfee,
$data[$key] = strip($val);
^
Da fehlt ein Unterstrich ... ;)
Ciao,
Harry
Hallo,
$data[$key] = strip($val);
^
Da fehlt ein Unterstrich ... ;)
Juchu danke genau daran hat es gelegen!
Grüße
Jeena Paradies