Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] einzelnen URL-Parameter ändern

Einklappen

Neue Werbung 2019

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

  • [Erledigt] einzelnen URL-Parameter ändern

    Servus,

    ich hab jetzt schon eine Weile danach gesucht und bin selbst etwas ungläubig, dass ich nichts für dieses einfach erscheinende Problem gefunden habe. Falls ich irgendein Suchergebnis übersehen haben sollte, entschuldigt bitte.


    Mein Problem ist folgendes:

    Die URL meiner Seite ist mit mehreren URL-Parametern bestückt:
    Auf der Seite habe ich einen Link mit folgendem Quelltext:
    Code:
    <a href="XXX">Link</a>
    Was muss ich anstelle von XXX einsetzen, damit ich nur den Wert von parameter1 ändere, den von parameter2 aber unberührt lasse? Ist das überhaupt so einfach möglich?

    Besten Dank.

  • #2
    Die einfachste Variante wäre wohl die:
    PHP-Code:
    echo '<a href="index.php?parameter1=neu&parameter2='htmlspecialchars($_GET['parameter2'], ENT_QUOTES) .'">Link</a>'
    Wenn Du alles dynamisch machen willst, hilft Dir mal ein
    PHP-Code:
    var_dump($_SERVER); 
    weiter, um zu sehen, was es alles für Informationen gibt. Zum Beispiel QUERY_STRING.
    Aber Achtung: Denke daran, dass das alles manipulierbar ist.

    Kommentar


    • #3
      Zitat von Pompei81 Beitrag anzeigen
      Die einfachste Variante wäre wohl die:
      PHP-Code:
      echo '<a href="index.php?parameter1=neu&parameter2='htmlspecialchars($_GET['parameter2'], ENT_QUOTES) .'">Link</a>'
      Für eine URL verwenden wir doch lieber urlencode

      PHP-Code:
      echo '<a href="index.php?parameter1=neu&parameter2='urlencode ($_GET['parameter2']) .'">Link</a>'
      Windows Server gehören NICHT ins Internet!

      Dildo? Dildo!

      Kommentar


      • #4
        Danke, die erste Variante hat mich schon auf den richtigen Weg gebracht! Ich habe es jetzt so, wie ich es wollte.

        Zitat von Pompei81 Beitrag anzeigen
        Aber Achtung: Denke daran, dass das alles manipulierbar ist.
        Da ich ausschließlich Zahlen in den Parametern zulasse und alle anderen Zeichen vor der Verwendung herausfiltere, sollte es eigentlich kein Risiko der Manipulierbarkeit mehr geben, oder irre ich mich?

        Kommentar


        • #5
          Zitat von RoFra Beitrag anzeigen
          Da ich ausschließlich Zahlen in den Parametern zulasse und alle anderen Zeichen vor der Verwendung herausfiltere, sollte es eigentlich kein Risiko der Manipulierbarkeit mehr geben, oder irre ich mich?
          Das kommt darauf an wie gut deine Filterung ist. Sinnvoll ist es auf jeden Fall immer eine Zahl in einen Integer zu wandeln:
          PHP-Code:
          $int_variable = (int) $_GET['irgendwas'];
          //oder
          $int_variable intval ($_GET['irgendwas']); 
          Windows Server gehören NICHT ins Internet!

          Dildo? Dildo!

          Kommentar


          • #6
            Hast Recht, trollface, urlencode ist die bessere Wahl
            Zitat von RoFra Beitrag anzeigen
            Da ich ausschließlich Zahlen in den Parametern zulasse und alle anderen Zeichen vor der Verwendung herausfiltere, sollte es eigentlich kein Risiko der Manipulierbarkeit mehr geben, oder irre ich mich?
            Es gibt ja verschiedene Arten von Manipulation. Wenn Du mit PHP bzw. MySQL Daten verarbeitest, dann gibt es z.B. die SQL-Injection.
            Wenn Du auf Deiner Seite Variablen ausgibst, gibt es da z.B. XSS.
            Meine Anmerkung bezog sich auf XSS, wenn Du einfach ungefiltert einen Inhalt aus dem $_SERVER Array ausgibst.
            Das wäre z.B. unsicher:
            PHP-Code:
            echo $_SERVER['QUERY_STRING']; 
            Weil der User ja den Query-String manipulieren kann wie er will.

            Kommentar


            • #7
              Alles klar. Ihr habt mir sehr geholfen, vielen Dank!

              Kommentar

              Lädt...
              X