[PHP] Dynamische Daten Anhand der URL

Dieses Thema im Forum "Webentwicklung" wurde erstellt von eRza, 21. April 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 21. April 2009
    Dynamische Daten Anhand der URL

    Ich wollte nachfragen wie ich in PHP folgendes realisiere:

    Ich habe einige fixe HTML Inhalte, und einige dynmaische.

    Nun möchte ich das wenn jemand bla.php?name1=wert1?name2=wert2 aufruft er folgende html quasi aufruft:

    fixer html inhalt

    wert1

    wert2

    fixer html inhalt

    Hoffe ihr versteht was ich meine

    Kann mir jemand sagen wie das realisierbar ist.

    Gruß
     
  2. 21. April 2009
    AW: Dynamische Daten Anhand der URL

    PHP:
    <? php
    print  file_get_contents ( 'fixer_html_inhalt_1.html' );
    print 
    '<pre>' . print_r ( $_GET , true ). '</pre>' ;
    print 
    file_get_contents ( 'fixer_html_inhalt_2.html' );
    ?>
     
  3. 21. April 2009
    AW: Dynamische Daten Anhand der URL

    Danke dafür

    Aber wo gebe ich jetzt quasi die "Schlagwörter" etc. an?
     
  4. 21. April 2009
    AW: Dynamische Daten Anhand der URL

    wenn die url zb folgende ist: index.php?name1=knut

    und in der php folgendes steht: $name1 = $_GET['name1']

    echo $name1

    wird also "knut" ausgegeben...
     
  5. 21. April 2009
    AW: Dynamische Daten Anhand der URL

    Parse error: syntax error, unexpected T_ECHO in test.php on line 10

    disen fehler habe ich leider

    code ist bis jetzt folgendes:

    Code:
    <?php
    $test = $_GET['test']
    
    echo $test
    ?>
    
     
  6. 21. April 2009
    AW: Dynamische Daten Anhand der URL

    Du musst deine Zeilen auch mit einem Semikolon abschließen.

    PHP:
    <? php
    $test 
    $_GET [ 'test' ];

    echo 
    $test ;
    ?>
    Aber achte drauf, dass du die Usereingabe z.B. mit htmlspecialchars() überprüfst, sonst ist auf jeden Fall eine XSS-Lücke entstanden.
     
  7. 21. April 2009
    AW: Dynamische Daten Anhand der URL

    Danke size, jetzt funktioniert es.

    2 Fragen:
    a) Was kann man durch diese XSS Lücke machen, den ganzen Serve rangreifen doer inwiefern ist sie gefährlich?

    b) Nun, die Grundfunktion habe ich ja jetzt, doch wie realisier eich jetzt folgendes:

    Ich habe eine fixe html Datei in der viele Optionen fix stehen, doch auch eine dynamisch über die URL geregelt sein soll. Ich habe versucht einfach aus dme ganzen html dokument ein php dokument zu machen (<?php ?> geaddet) und oben die Funktion zur bestimmung der Variablen und dann bei option="echo $test", die funktioniert alleridngs nicht.

    Was wäre für dieses Vorhaben die beste Lösung?

    Gruß
     
  8. 21. April 2009
    AW: Dynamische Daten Anhand der URL

    Verstehe dein ganzes Vorhaben irgendwie nicht, vielleicht klärst du uns mal besser auf, dann können wir dir auch bessere Lösungsvorschläge geben.

    Zu der XSS-Geschichte, machs einfach so und schon biste das Problem los:

    PHP:
    <? php
    $test 
    htmlspecialchars ( $_GET [ 'test' ]);

    echo 
    $test ;
    ?> 
    Das du HTML nicht so ohne weiteres innerhalb PHP verwenden kannst sollte dir klar sein .
    Entweder du gibts den HTML-Code mit echo() aus, oder du öffnest innerhalb des HTML-Codes einen PHP-Codeblock wie du schon sagtest, die dateiendung muss aber dann auch .php sein.
    Sprich alles was du nicht ins <?php ?> setzt, wird auch nicht geparsed und als HTML verwendet
     
  9. 21. April 2009
    AW: Dynamische Daten Anhand der URL

    Probiers erstmal mit den einfachen Syntax Grundlagen von php: http://tut.php-q.net/de/

    Mit XSS lässt sich viele schöne Dinge anstellen, also komme nicht auf die Idee XSS nicht zu verhindern...
    x69 hat ja schon den richtigen Ansatz gepostet.


    Ohne dein jetzigen Code kann man dir schlecht helfen. Nur soweit... option="echo $test" hat kein validen Syntax.
     
  10. 21. April 2009
    AW: Dynamische Daten Anhand der URL

    Hier ist der momentane Code:

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <body bgcolor="#000000">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>chat</title>
    </head>
    
    <body>
    
    <center>
     <p>&nbsp; </p>
     <p>&nbsp;</p>
     <p>&nbsp;</p>
     <p>&nbsp;</p>
     <p>
    <applet code=IRCApplet.class archive="irc.jar,pixx.jar" width=640 height=400>
    <param name="CABINETS" value="irc.cab,securedirc.cab,pixx.cab">
    
    <param name="nick" value="$user">
    <param name="alternatenick" value="">
    <param name="name" value="">
    <param name="host" value="irc">
    <param name="gui" value="pixx">
    <param name="command2" value="$chan">
    
    <param name="quitmessage" value="">
    <param name="asl" value="true">
    <param name="useinfo" value="true">
    
    <param name="style:bitmapsmileys" value="true">
    <param name="style:smiley1" value=":) img/sourire.gif">
    <param name="style:smiley2" value=":-) img/sourire.gif">
    <param name="style:smiley3" value=":-D img/content.gif">
    <param name="style:smiley4" value=":d img/content.gif">
    <param name="style:smiley5" value=":-O img/OH-2.gif">
    <param name="style:smiley6" value=":o img/OH-1.gif">
    <param name="style:smiley7" value=":-P img/langue.gif">
    <param name="style:smiley8" value=":p img/langue.gif">
    <param name="style:smiley9" value=";-) img/clin-oeuil.gif">
    <param name="style:smiley10" value=";) img/clin-oeuil.gif">
    <param name="style:smiley11" value=":-( img/triste.gif">
    <param name="style:smiley12" value=":( img/triste.gif">
    <param name="style:smiley13" value=":-| img/OH-3.gif">
    <param name="style:smiley14" value=":| img/OH-3.gif">
    <param name="style:smiley15" value=":'( img/pleure.gif">
    <param name="style:smiley16" value=":$ img/rouge.gif">
    <param name="style:smiley17" value=":-$ img/rouge.gif">
    <param name="style:smiley18" value="(H) img/cool.gif">
    <param name="style:smiley19" value="(h) img/cool.gif">
    <param name="style:smiley20" value=":-@ img/enerve1.gif">
    <param name="style:smiley21" value=":@ img/enerve2.gif">
    <param name="style:smiley22" value=":-S img/roll-eyes.gif">
    <param name="style:smiley23" value=":s img/roll-eyes.gif">
    <param name="style:backgroundimage" value="false">
    <param name="style:backgroundimage1" value="all all 0 background.gif">
    <param name="style:sourcefontrule1" value="all all Serif 12">
    <param name="style:floatingasl" value="true">
    
    <param name="pixx:timestamp" value="true">
    <param name="pixx:highlight" value="true">
    <param name="pixx:highlightnick" value="true">
    <param name="pixx:nickfield" value="true">
    <param name="pixx:styleselector" value="true">
    <param name="pixx:setfontonstyle" value="true">
    <param name="pixx:color0" value="C0C000">
    
    </applet>
    
    </center>
    
    </body>
    </html>
    
    Davon der Channel und der Username sollen über die URL generiert werden.

    Gruß
     
  11. 21. April 2009
    AW: Dynamische Daten Anhand der URL

    PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <body bgcolor="#000000">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>chat</title>
    </head>

    <body>

    <center>
      <p>&nbsp;  </p>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>
    <applet code=IRCApplet.class archive="irc.jar,pixx.jar" width=640 height=400>
    <param name="CABINETS" value="irc.cab,securedirc.cab,pixx.cab">

    <param name="nick" value="<?php  echo  htmlspecialchars ( $_GET [ 'nick' ]); ?>">
    <param name="alternatenick" value="">
    <param name="name" value="">
    <param name="host" value="irc">
    <param name="gui" value="pixx">
    <param name="command2" value="<?php  echo  htmlspecialchars ( $_GET [ 'channel' ]); ?>">

    <param name="quitmessage" value="">
    <param name="asl" value="true">
    <param name="useinfo" value="true">

    <param name="style:bitmapsmileys" value="true">
    <param name="style:smiley1" value=":) img/sourire.gif">
    <param name="style:smiley2" value=":-) img/sourire.gif">
    <param name="style:smiley3" value=":-D img/content.gif">
    <param name="style:smiley4" value=":d img/content.gif">
    <param name="style:smiley5" value=":-O img/OH-2.gif">
    <param name="style:smiley6" value=":o img/OH-1.gif">
    <param name="style:smiley7" value=":-P img/langue.gif">
    <param name="style:smiley8" value=":p img/langue.gif">
    <param name="style:smiley9" value=";-) img/clin-oeuil.gif">
    <param name="style:smiley10" value=";) img/clin-oeuil.gif">
    <param name="style:smiley11" value=":-( img/triste.gif">
    <param name="style:smiley12" value=":( img/triste.gif">
    <param name="style:smiley13" value=":-| img/OH-3.gif">
    <param name="style:smiley14" value=":| img/OH-3.gif">
    <param name="style:smiley15" value=":'( img/pleure.gif">
    <param name="style:smiley16" value=":$ img/rouge.gif">
    <param name="style:smiley17" value=":-$ img/rouge.gif">
    <param name="style:smiley18" value="(H) img/cool.gif">
    <param name="style:smiley19" value="(h) img/cool.gif">
    <param name="style:smiley20" value=":-@ img/enerve1.gif">
    <param name="style:smiley21" value=":@ img/enerve2.gif">
    <param name="style:smiley22" value=":-S img/roll-eyes.gif">
    <param name="style:smiley23" value=":s img/roll-eyes.gif">
    <param name="style:backgroundimage" value="false">
    <param name="style:backgroundimage1" value="all all 0 background.gif">
    <param name="style:sourcefontrule1" value="all all Serif 12">
    <param name="style:floatingasl" value="true">

    <param name="pixx:timestamp" value="true">
    <param name="pixx:highlight" value="true">
    <param name="pixx:highlightnick" value="true">
    <param name="pixx:nickfield" value="true">
    <param name="pixx:styleselector" value="true">
    <param name="pixx:setfontonstyle" value="true">
    <param name="pixx:color0" value="C0C000">

    </applet>

    </center>

    </body>
    </html>
    Das ist aber wirklich Quick 'n Dirty, sollte aber funktionieren wenn du die URL mit den Parametern aufrufst:


    Stiftung Warentest
     
  12. 21. April 2009
    AW: Dynamische Daten Anhand der URL

    Das schonmal für den Ansatz

    Das Problem ist da sich entweder bei Channel ein fixes "/join #" ode rein fixes "/join " hinzupacken muss.

    Beides funktioniert bei mir nicht.

    Ich habe gehört die # kann man voa urlencode übertragen, hat da jemand eine ahnung?

    Bzw noch besser wäre eine Lösung das /join # fix reinzupacken. Bei mir ging es weder in dem echo, noch vor dem php string.

    Gruß
     
  13. 21. April 2009
    AW: Dynamische Daten Anhand der URL

    <param name="command2" value="/join #<?php echo htmlspecialchars($_GET['channel']);?>">

    no big deal!?
     
  14. 21. April 2009
    AW: Dynamische Daten Anhand der URL

    Danke, BW an alle
     
  15. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.