tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
370
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    KD3 KD3 ist offline
    Registriert seit
    Apr 2007
    Beiträge
    453
    hi leute...

    1 Frage: Was bringt ein &= oder ein & in sachen php ?
    2 Frage: Reicht mysql_real_escape_string allein für SQL Injections aus?
    3 Frage: wenn ich z.B so ein include Befehl vollziehe, könnten dann LFI oder RFI Expl. von besuchern z.B angewendet werden:
    <?php
    $basep = $_SERVER['DOCUMENT_ROOT'];

    include($basep . "/dir1/inc/db.inc.php);

    ?>

    Danke im voraus

    MfG
    KD3
     

  2. #2
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Zu 1:
    Damit referenzierst du etwas, siehe auch hier:
    http://de2.php.net/manual/de/language.references.php

    Zu 2:
    Grundsätzlich ja.
    Allerdings solltest du z. B. bei Integer z. B. noch intval() benutzen und ggf. für dich relevante Sachen ausdünnen, wie z. B. HTML Tags filtern (strip_tags()) oder nur alle HTML Zeichen ersetzen (htmlspecialchars()).

    Zu 3:

    Dieses Beispiel kann überhaupt nicht verändert werden, da es absolut ist. Die Lücken die du ansprichst entstehen z. B. bei folgendem Code:

    PHP-Code:
    $page $_GET['page']

    include(
    $page); 
    Wenn in diesem Falle z. B. allow_url_fopen an wäre (was es eigentlich nicht sein sollte), könnte ein potenzieller Angreifer eine externe PHP Datei einbinden und seinen Code ausführen um an private Daten heranzukommen, wie z. B. MySQL Zugangsdaten.
    Hier ist ein sicheres Beispiel:
    PHP-Code:
    $page $_GET['page'];

    switch(
    $page) {
      case 
    "news":
        include(
    "news.php");
        break;
      case 
    "bla":
        include(
    "bla.php");
        break;
      default:
        include(
    "startseite.php");

    Dadurch wäre es egal, wenn der Angreifer z. B. eine externe Datei angibt, da jeder unbekannte Fall einfach auf den default Case zeigt.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  3. #3
    KD3 KD3 ist offline
    Registriert seit
    Apr 2007
    Beiträge
    453
    ok... die 2. und 3. Frage hab ich allmählich gepallt, danke nur die 1. nicht so ganz...

    Ist & sowie ein . ? also ein Verknüpfungsoperator nur?

    bsp.

    <?php

    $h = "Hallo";
    $h .= "KD3";

    echo $h;


    ?>
     

  4. #4
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Nein ist es nicht, hier mal ein Beispiel:

    PHP-Code:
    <pre>
    <?php
    $a 
    4;
    $b $a;

    # $a und $b wären jetzt 4

    $a $a 9;

    # $a = 13, $b = 4



    echo $a."\n";
    echo 
    $b."\n";

    ## Jetzt das ganze als Referenz

    $a 4;
    $b = &$a;

    # $a ist 4, $b ist jetzt auch 4, aber nur weil er auf $a referenziert, er wird immer den
    # gleichen Wert haben wie $a

    $a $a 9;

    echo 
    $a."\n";
    echo 
    $b;

    ?>
    </pre>
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  5. #5
    KD3 KD3 ist offline
    Registriert seit
    Apr 2007
    Beiträge
    453
    achso... also man könnte sagen dann wird immer der wert 4, konstant $b übergeben ne?
     

  6. #6
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Nein, dass bedeutet, dass $b eigentlich keinen Inhalt hat, sondern immer den Wert von $a bezieht.
    $b ist also ein Alias für $a.

    Zitat Zitat von php.net
    Referenzen sind in PHP ein Mechanismus um verschiedene Namen für den gleichen Inhalt von Variablen zu ermöglichen. Sie sind nicht mit Zeigern in C zu vergleichen, sondern Aliasdefinitionen für die Symboltabelle. PHP unterscheidet zwischen Variablenname und Variableninhalt, wobei der gleiche Variableninhalt unterschiedliche Namen besitzen kann. Der bestmögliche Vergleich ist der mit Dateinamen und Dateien im Dateisystem von Unix - Variablennamen sind Verzeichniseinträge, während der Variableninhalt die eigentliche Datei darstellt. Referenzen können nun als Hardlinks im Dateisystem verstanden werden.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  7. #7
    Avatar von Online-Skater
    Online-Skater Online-Skater ist offline Mitglied Brillant
    Registriert seit
    Sep 2004
    Ort
    Rostock
    Beiträge
    891
    Nein nicht der Wert 4 sondern der Wert von $a. Sprich $b ist immer gleich $a

    ui zu langsam
     

  8. #8
    KD3 KD3 ist offline
    Registriert seit
    Apr 2007
    Beiträge
    453
    Also wird nur immer der Inhalt einer Variablen übernommen aber die kopie sagen wir mal von der variablen die angegeben wurde... oder?
     

  9. #9
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Nein, es wird nichts übernommen und es wird auch keine Kopie erstellt.

    $b zeigt immer auf den Inhalt von $a.

    PHP-Code:
    $a 4;
    $b = &$a;

    # $a = 4, $b zeigt auf $a also 4

    $a $a 12;

    # $a = 16, $b zeigt auf $a also 16

    $a $a 5;

    # $a = 11, $b zeigt auf $a also 11 
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  10. #10
    KD3 KD3 ist offline
    Registriert seit
    Apr 2007
    Beiträge
    453
    achso ok jetz hab ich es verstanden danke
     

Ähnliche Themen

  1. 2 kleine Fragen
    Von psycomantis im Forum Coders Talk
    Antworten: 16
    Letzter Beitrag: 26.08.04, 17:46
  2. 2 kleine Fragen
    Von EchseKiuta im Forum Creative Lounge
    Antworten: 6
    Letzter Beitrag: 29.07.04, 20:13
  3. 3 kleine Fragen...
    Von Wolvo im Forum Cinema 4D
    Antworten: 2
    Letzter Beitrag: 07.06.04, 10:55
  4. 2 kleine Fragen
    Von mgd-one im Forum .NET Archiv
    Antworten: 6
    Letzter Beitrag: 06.02.04, 19:41
  5. 2 kleine fragen
    Von Seth im Forum HTML & XHTML
    Antworten: 6
    Letzter Beitrag: 24.03.03, 12:37