Ankündigung

Einklappen
Keine Ankündigung bisher.

Übergabe variable

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Übergabe variable

    Hallo Gemeinschaft

    habe mal ne Frage bzgl. Anzeige - der erste echo wird der Wert richtig angezeigt - weiter unten nicht mehr - was hab ich da falsch gemacht

    PHP-Code:
    <?php
    $name 
    $_GET['variable'];
     echo 
    "name".$_GET['variable'];

    ?>
    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Test</title>
    </head>

    <body>
    <p>Herzlich Willkommen auf der Seite </p>
    <p>&nbsp;</p>
    <p><a href="abfrage.php?name=<?php $_GET['variable']; ?>">Link</a></p>
    <?php $name?>
    </body>
    </html>

  • #2
    Werte dürfen nicht direkt in HTML-Code oder URLs eingefügt werden. Du musst immer den Kontextwechsel beachten.

    Für URL-Parameter verwende urlencode() oder http_build_query(), für Ausgaben in HTML verwende htmlspecialchars().

    Kommentar


    • #3
      kannst du mir das vielleicht zeigen

      Kommentar


      • #4
        ah - so <?php echo htmlspecialchars($name);?>

        Kommentar


        • #5
          danke

          Kommentar


          • #6
            Neben der bereits erwähnten nicht vorhandenen Behandlung des Kontextwechsels:

            Zitat von krentscher Beitrag anzeigen
            der erste echo wird der Wert richtig angezeigt - weiter unten nicht mehr
            Es gibt in dem Code kein zweites echo, es kann also auch nichts angezeigt werden.

            Kommentar


            • #7
              Zitat von krentscher Beitrag anzeigen
              kannst du mir das vielleicht zeigen
              du kannst es auch so schreiben, sieht dann übersichtlicher aus

              PHP-Code:
              <p><a href="abfrage.php?name=<?= $_GET['variable']; ?>">Link</a></p>
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

              Kommentar


              • #8
                PHP-Code:
                <?php $name?>

                PHP-Code:
                <?php echo htmlspecialchars($name); ?>
                oder

                PHP-Code:
                <?= htmlspecialchars($name); ?>
                The string "()()" is not palindrom but the String "())(" is.

                Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                PHP.de Wissenssammlung | Kein Support per PN

                Kommentar


                • #9
                  Zitat von BlackScorp Beitrag anzeigen
                  PHP-Code:
                  <p><a href="abfrage.php?name=<?= $_GET['variable']; ?>">Link</a></p>
                  Aber nicht den Wert aus $_GET direkt ausgeben! Hier werden die beiden Kontextwechsel (URL bzw. HTML) nicht berücksichtigt!

                  Kommentar


                  • #10
                    Zitat von tk1234 Beitrag anzeigen
                    Aber nicht den Wert aus $_GET direkt ausgeben! Hier werden die beiden Kontextwechsel (URL bzw. HTML) nicht berücksichtigt!
                    ja ich weiß, mir gings nur um die Schort Variante von echo, wobei, ein einfaches GET ausgeben, da passiert doch eh nichts.
                    apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                    Kommentar


                    • #11
                      Zitat von BlackScorp Beitrag anzeigen
                      ja ich weiß, mir gings nur um die Schort Variante von echo, wobei, ein einfaches GET ausgeben, da passiert doch eh nichts.
                      https://de.wikipedia.org/wiki/Cross-Site-Scripting

                      Kommentar


                      • #12
                        ich weiß was das ist, mir fallen da halt nur keine Szenarien ein. Außer ich verschicke ein link wie "schau mal http://foobar.php?variable=<script>window.location.href=' download.virus.now'</script>" und das dann als short URL verpacken
                        apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                        Kommentar


                        • #13
                          Zitat von BlackScorp Beitrag anzeigen
                          ich weiß was das ist, mir fallen da halt nur keine Szenarien ein. Außer ich verschicke ein link wie "schau mal http://foobar.php?variable=<script>window.location.href=' download.virus.now'</script>" und das dann als short URL verpacken
                          Oder man postet so einen Link in einem Forum, usw.

                          Und sowas ist schon sehr schlimm. Dadurch kann man beliebigen JavaScript-Code einbinden und hat somit volle Kontrolle was im Browser auf der Seite passiert. Kann also Passwörter abgreifen oder diverse Aktionen ausführen. Wenn es hier im Forum eine XSS-Lücke gäbe, könnte man sie zB. ausnutzen um mit fremden User-Accounts Spam-Nachrichten zu posten.

                          Kommentar


                          • #14
                            Kann also Passwörter abgreifen
                            Theor. auch Cookies auslesen bzw. wo hin senden (AJAX) etc..
                            The string "()()" is not palindrom but the String "())(" is.

                            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                            PHP.de Wissenssammlung | Kein Support per PN

                            Kommentar

                            Lädt...
                            X