Auge: PHP - aber sicher

Beitrag lesen

Hallo

Ich nehme dafür eine Stelle vor bzw. am Beginn des Abschnitts, in dem die entsprechende Maskierung notwendig ist.

Das heißt, du legst extra eine neue Variable an, mit dem geänderten Wert, auf die du dann (in den vermutlich meisten Fällen) nur einmal zugreifst?

$var1_esc = escape($var1);

(alle Beispiele in Pseudocode)

Oder änderst du die bestehende Variable, so dass deren Inhalt für andere Zwecke quasi wertlos geworden ist (nicht immer gibt es eine eindeutige Umkehrfunktion)?

$var1 = escape($var1);

Meist verwende ich die letztere Möglichkeit. Da ich das aber innerhalb von Funktionen mache, entwerte ich den String in der ursprünglichen Variable nicht.

function funktion_zum_sql_inserten($var) {  
global ...;  
  
$sql = funktion_zum_verbindungsaufbau();  
  
if ($sql===false)  
   {  
   # Fehler  
   $r = false;  
   }  
else  
   {  
   # Maskierungen und weitere eventuelle Aufbereitungen  
   $var = mysql_real_escape_string($var);  
   $frage = "INSERT INTO tabelle (eintrag) VALUES '".$var."'";  
   $r = funktion_zur_abfrage_und_ausgabe($frage,$sql);  
   }  
return $r;  
} # Ende: funktion_zum_sql_inserten($var1)  
  
$var1 = "String mit allerhand Text.";  
  
$sql_return = funktion_zum_sql_inserten($var1);

Auch bei dieser Vorgehensweise [Version 2] muss man sich (unnötigerweise) merken, dass eine Bearbeitung bereits stattgefunden hat, auch wenn das nur wenige Zeilen weiter oben geschieht. Und vor allem muss man es auch sicherstellen. Was ist, wenn du "unten" etwas ergänzen willst, und im Eifer des Gefechts vergisst, "oben" die Bearbeitung einzufügen? Ist es nicht wesentlich auffälliger, wenn stattdessen bei einer Anzahl von mit Escape-Funktionen eingefügten Variablen plötzlich eine solo dasteht?

Ja, die Gefahr ist gegeben. Dem kann ich auch nichts als ein "Da muss ich halt aufpassen." entgegenhalten. Und ich weiß, dass das nicht wirklich überzeugend klingt.

Tschö, Auge

--
Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
(Victor Hugo)
<dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
Veranstaltungsdatenbank Vdb 0.2
0 51

Versuche der "feindlichen Übernahme"?

Christoph Schnauß
  • php
  1. 0
    David Tibbe
    1. 0
      Christoph Schnauß
      1. 0
        Karin
        1. 0
          Christoph Schnauß
          1. 0

            total Off Topic

            Karin
            • menschelei
            1. 0
              Christoph Schnauß
              1. 0
                Karin
  2. 0
    Steel
  3. 2
    Karin
    1. 0
      Christoph Schnauß
      1. 0
        Gerti
        1. 0
          Christoph Schnauß
          1. 0
            Gerti
            1. 0
              Johannes Zeller
              1. 0
                Alexander Brock
  4. 0
    zwerg
    1. 2
      Der Martin
    2. 3
      Patrick Andrieu
      1. 0
        Patrick Andrieu
      2. 0
        Christoph Schnauß
      3. 0
        zwerg
  5. 1

    Fazit / nötige Einstellungen?

    Cyx23
    1. 0
      Christoph Schnauß
      1. 0
        Tobias Kloth
        1. 0
          Christoph Schnauß
        2. 0
          Sven Rautenberg
          1. 0
            Christoph Schnauß
            1. 1
              Sven Rautenberg
              1. 1
                Christoph Schnauß
      2. 0
        Cyx23
    2. 2

      PHP - aber sicher

      Marc Reichelt
      1. 0
        Cyx23
        1. 0
          Sven Rautenberg
          1. 0
            Cyx23
            1. 2
              Sven Rautenberg
              1. 0
                Cyx23
                1. 1
                  Sven Rautenberg
                  1. 0
                    Cyx23
                    1. 1
                      Karin
                    2. 0
                      Auge
                      1. 0
                        Cyx23
                        1. 0
                          Auge
                          1. 0
                            dedlfix
                            1. 0
                              Auge
                        2. 1
                          Sven Rautenberg
                  2. 1
                    dedlfix
      2. 0
        Marc Reichelt
        1. 0
          Cyx23
          1. 0
            Marc Reichelt
    3. 2
      dedlfix