Seite 2 von 2

Verfasst: 19.01.2005 10:51
von Lord_Femto
mal ne weitere frage von mir.

phpbb versieht ja die gpcs in der common.php bei magic_quotes_gpc off mit einem \ . soweit so gut. wo werden diese \ wieder aufgehoben?

Verfasst: 19.01.2005 13:54
von Blutgerinsel
Lord_Femto hat geschrieben:mal ne weitere frage von mir.

phpbb versieht ja die gpcs in der common.php bei magic_quotes_gpc off mit einem \ . soweit so gut. wo werden diese \ wieder aufgehoben?
Kann ich dir aus dem Stehkreis nicht sagen.....
Jedoch wird es auf ein stripslashes || str_replace hinauslaufen.....
magic_quotes_runtime boolean

Falls magic_quotes_runtime aktiviert ist, werden die meisten Funktionen die Daten von einer beliebigen externen Quelle zurückgeben, inklusive Datenbanken und Textdateien, die in den Daten enthaltenen Anführungszeichen mit einem Backslash geschützt zurückgeben. Falls zusätzlich magic_quotes_sybase auf on steht, werden einzelne Anführungszeichen mit einem einzelnen Anführungszeichen statt einem Backslash geschützt.

Verfasst: 19.01.2005 14:09
von ct-ac
Habe ich es jetzt richtig verstanden ?
Habe den Code durch diese drei Zeilen ersetzt:

Code: Alles auswählen

news_titel = mysql_real_escape_string($news_titel);
     $news_inhalt = mysql_real_escape_string($news_inhalt);
     $news_gesamt = mysql_real_escape_string($news_gesamt);
Natürlich vor dem:

Code: Alles auswählen

$news_eintrag = "INSERT INTO news (titel, datum, text) VALUES ('$news_titel', '$news_gesamt', '$news_inhalt')"; 
     $news_eintragen = mysql_query($news_eintrag); 
Oder muss die variable $news_eintrag auchnoch mit mysql_real_escape_string versehen werden ?

Verfasst: 19.01.2005 19:03
von QCO
Nein, muss er nicht. Das ist dann so in Ordnung.
Blutgerinsel hat geschrieben:Kann ich dir aus dem Stehkreis nicht sagen.....
Schicker Beitrag. :roll:

Verfasst: 19.01.2005 20:13
von Blutgerinsel
QCO hat geschrieben:Nein, muss er nicht. Das ist dann so in Ordnung.
Schicker Beitrag. :roll:
Viele Wege führen nach Rom und mysql_escape_string ist ein Weg.......

Meine Aussage war auf dem verfl**** wirren Code von einem PHPBB bezogen. Wenn ich jeden Tag Augenkrebs bekommen will schau ich mir ein bestimmten Forumcode an.....

Da ich das nicht tue kann ich nicht PHPBB als Basis immer herziehen sondern auf Möglichkeiten hinweisen.....

Wer sagt das ich nicht addslashes nehmen kann? Um die Slashes wieder zu kicken gibts stripslashes...

Was wenn mysql_escape_string mal nicht verfügbar ist und es portabel sein soll was dann?

Naja aber danke für deinen Hinweis......

Verfasst: 19.01.2005 21:02
von larsneo
Was wenn mysql_escape_string mal nicht verfügbar ist und es portabel sein soll was dann?

Code: Alles auswählen

/**
 * ready database output
 * <br />
 * Gets a variable, cleaning it up such that the text is
 * stored in a database exactly as expected
 * 
 * @param var $ variable to prepare
 * @param  $ ...
 * @return mixed prepared variable if only one variable passed
 * in, otherwise an array of prepared variables
 */
function pnVarPrepForStore()
{
    $resarray = array();
    foreach (func_get_args() as $ourvar) {
        // Prepare var
        if (!get_magic_quotes_runtime()) {
            $ourvar = addslashes($ourvar);
        }
        // Add to array
        array_push($resarray, $ourvar);
    }
    // Return vars
    if (func_num_args() == 1) {
        return $resarray[0];
    } else {
        return $resarray;
    }
}
(stolen from the postnuke api)

Verfasst: 25.01.2005 15:12
von QCO
Blutgerinsel hat geschrieben:Was wenn mysql_escape_string mal nicht verfügbar ist und es portabel sein soll was dann?
Also wenn jemand PHP ohne mySQL-Unterstützung kompilieren kann, dann sollte er das auch anpassen können.