base64_decode für URL Verschlüsselung

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

  • base64_decode für URL Verschlüsselung

    Hallo,

    ich habe schon hier im Forum gesucht, allerdings noch kein passenden Beitrag zu meinem Problem gefunden.

    Ich habe vor, meine URL auf einen bestimmte Art und Weise zu verschlüsseln, zum Thema URL verschlüsseln gibt es den ein oder anderne Beitrag schon, doch irgendwie nicht das, was ich mich erhoffe zu finden.

    Zur Zeit sieht meine URL wie folgt aus:
    (Die Entwicklung läuft lokal bei mir auf dem PC)

    index.php?site=shortnews&snid=16

    allerdings ist es so einfach Möglich, die übergebenen Parameter in der URL fix zu ändern. Blöd wird es, wenn man sämtliche Formulareinträge so übergibt. Eine Möglichkeit wäre, die ganzen Daten nicht mit der URL zu übergeben sondern mit POST. Hierzu müsste ich allerdings die gesamten Homepage umschreiben worauf ich keine Lust habe ist ja nicht gerade wenig.

    Eine einfache Möglichkeit die sich hier noch anbietet, was ich schon öfter gesehen habe, ist das Verschlüsseln der URL.

    Die Verschlüsselungsmethode die ich anwenden möchte ist

    base64_decode & base64_encode, sieht finde ich am schönsten aus.

    Mein Problem liegt nicht darin, die URL zu verschlüsseln, sondern wieder zu entschlüsseln sodass die richtige Seite angezeigt wird aber in der Adresszeile tortzdem die verschlüsselte URL steht.

    Das ist die URL die ich aufrufe wenn nicht verschlüsselt.
    index.php?site=shortnews&snid=16

    wenn sie verschlüsselt ist, soll sie im nachhinein wie folgt aussehen
    index.php?site=c2hvcnRuZXdzJmFtcDtzbmlkPTE2

    Soweit klappt es, er zeigt nur noch nicht die richtige Seite an. Zuerst dachte ich, ich könnte einen Wert im Globalen Array $_SERVER überschreiben und somit wäre das getan, aber das klappte dann doch nicht so wirklich.

    Wenn ihr eine Idee habt, wie ich das bewerkstelligen könnte, wär ich euch sehr dankbar.

    INFO: Ich benutze einen Apache/2.2.2 (Win32) mit PHP/5.1.4


    Liebe Grüße und schoneinmal Danke
    Sascha
    Zuletzt geändert von Verlorenersohn; 06.03.2007, 15:00.

  • #2
    verschlüssel nur die einzelnen werte, nicht die parameter, so was in der der art
    index.php?site=c2hvcnRuZXdzJmFtcDtz&snid=PTE2

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Hallo Peter,

      danke für deine Antwort, allerdings sieht man bei deinem Beispiel, das man soch sehr schnell sieht was für Parameter übergeben werden

      index.php?site=c2hvcnRuZXdzJmFtcDtz&snid=PTE2

      dies soll alles nicht angezeigt werden. Geht vom Prinzip her ja niemanden groß was an was für ID´s oder generierte Zahlen o.ä. übergeben werden.

      Auch wenn ich die Parameter so verschlüssel wie du es gerade geschrieben hast, stellt sich mir immernoch die Frage, wie greft er auf die Seite zu sodass die verschlüsselte URL noch in der Adresszeile steht.

      LG
      Sascha

      Kommentar


      • #4
        dann verschlüssel alles(!) und übergibt das so
        PHP-Code:
        index.php?str=c2l0ZT1zaG9ydG5ld3Mmc25pZD0xNg== 
        den entschlüsselst du dann und nimmst ihn mit explode entsprechend auseinander.

        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Kann es evtl. sein, dass du ein fremdes Programm abändern willst?

          An welcher Stelle schreibst du die entschlüsselten Werte denn wieder in den $_GET Array?
          [FONT="Helvetica"]twitter.com/unset[/FONT]

          Shitstorm Podcast – Wöchentliches Auskotzen

          Kommentar


          • #6
            Re: base64_decode für URL Verschlüsselung

            Original geschrieben von Verlorenersohn
            allerdings ist es so einfach Möglich, die übergebenen Parameter in der URL fix zu ändern.
            Ja und? Ist doch vollkommen uninteressant.

            Dein Script hat die übergebenen Werte auf Gültigkeit zu prüfen, und im Zweifesfalle abzuweisen. Tut dein Script dies nicht, ist es Mist.

            Da irgendwas "kodieren" zu wollen, ist eine reichlich blödsinnige Idee.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Da irgendwas "kodieren" zu wollen, ist eine reichlich blödsinnige Idee.
              OffTopic:
              mache ich auch manchmal, weil sonst die leute in ihrem cms an der url herumspielen, und dann anrufen, warum entsprechende fehlermeldungen (meine) kommen.


              gruß
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                OffTopic:
                Die einzige Fehlermeldung, die zu kommen hat, wäre eine 404-Seite.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Hi Peter,

                  das würde doch dann aber bedeuten, das ich nach dem ich es entschlüsselt habe die seite reloaden muss oder?

                  ich mein, ich rufe die verschlüsselte URL auf sie steht somit in der Adress Zeile und ich lande auf der Startseite (bedingt duch das index.php). Nach dem entschlüsseln, muss das script ja erst noch wissen, "AHA.. die Seite muss ich nun aufrufen und der Seite diese Parameter übergeben" ...

                  PS: Deine HP gefällt mir Peter


                  Hi unset,

                  nein ich will kein anderes Programm abändern. Ich habe mir zur Aufgabe gemacht, meine Homepage von grundauf selber zu schreiben. Wenns Probleme gibt, gerne auch im Internet gucken oder nachfragen aber ansonsten möchte ich alles selber gestalten und aufbauen.

                  Die Daten werden mit $_POST abgeschickt. Andere Sachen werden zusätzlich an die URL noch mit angehangen.

                  Die URL bzw. die Parameter werden verschlüsselt in dem Moment wo sie ausgegeben werden. da sehe z.B. so aus.

                  $url = "shortnews&snid=".$row[0]."";
                  $url = base64_encode($url);
                  <a href=index.php?site='.$url.'>

                  Beim Klick auf den Link wird die Seite neu aufgerufen (was ein wunder^^) und die verschlüsselte URL steht in der Adresszeile. Ich lande aber bedingt durch das index.php auf der Startseite und nicht auf der Seite, wo ich eignetlich landen sollte.

                  Und genau da, setzt die Herrausforderung ein. Wie merkt das Script, dass es nicht auf die Startseite soll, sondern auf die Seite der Shortnews und die Shortnews mit der ID XX anzeigen soll?!


                  LG Sascha

                  Kommentar


                  • #10
                    Original geschrieben von Verlorenersohn
                    $url = "shortnews&snid=".$row[0]."";
                    $url = base64_encode($url);
                    <a href=index.php?site='.$url.'>
                    link doch gleich da auf die richtige seite...

                    Code:
                    $id = "snid=".$row[0]."";
                    $id = base64_encode($url);
                    <a href=andere_seite.php?id='.$id.'>

                    edit, weil zu schnell gelesen
                    **********
                    arkos
                    **********

                    Kommentar


                    • #11
                      Original geschrieben von arkos
                      Code:
                      $url = "shortnews&snid=".$row[0]."";
                      $url = base64_encode($url);
                      <a href=andere_seite.php?site='.$url.'>

                      Hey,

                      das gestaltet sich auch nen bissl als schwierig. Meine URL´s sehen immer so aus:

                      index.php?site=guestbook
                      index.php?site=shortnews
                      index.php?site=......

                      und so weiter. er greift demnach grundsätzlich immer auf die index.php zu. Übergbt dann den Seitennamen (z.B. gueistbook) und merkt darna, "ahhh... ich muss auf das Gästebuch zugreifen"

                      LG Sascha

                      Kommentar


                      • #12
                        das ich nach dem ich es entschlüsselt habe die seite reloaden muss oder?

                        du klickst auf einen link und lädst die seite neu, dann stehen dir die parameter doch schon zur vefügung. ist doch lattens ob im klartext oder verschlüsselt.
                        Die einzige Fehlermeldung, die zu kommen hat, wäre eine 404-Seite.
                        OffTopic:
                        dann rufen die auch an


                        peter
                        Zuletzt geändert von Kropff; 06.03.2007, 15:43.
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • #13
                          Original geschrieben von Kropff

                          du klickst auf einen link und lädst die seite neu, dann stehen dir die parameter doch schon zur vefügung. ist doch lattens ob im klartext oder verschlüsselt.

                          peter

                          Hey,

                          auch nur in verschlüsselter Form

                          $_REQUEST:Array
                          (
                          [site] => c2hvcnRuZXdzJmFtcDtzbmlkPTEz
                          [PHPSESSID] =>XXXXXXXXXXX
                          )

                          Kommentar


                          • #14
                            http://de3.php.net/manual/de/function.parse-str.php
                            mfg

                            Kommentar


                            • #15
                              verstehe ich jetzt bahnhof? du übergibst einen get-paramater und den verarbeitest du
                              PHP-Code:
                              if ($_GET['bla'] == 'blubb'
                              und wenn das ding verschlüsselt ist dann so
                              PHP-Code:
                              if (base64_decode ($_GET['bla']) == 'blubb'
                              und wenn du das so machst wie ich beschriben habe (index.php?str=c2l0ZT1zaG9ydG5ld3Mmc25pZD0xNg==) dann so
                              PHP-Code:
                              $param base64_decode ($_GET['str'])
                              // ergebnis ist site=shortnews&snid=16
                              $explode =explode ('&',$param);
                              for (
                              $i 0$i count($explode); $i++)
                              {
                                 
                              $blubb explode ('=',$explode[$i]);
                                 
                              // usw.

                              peter
                              EDIT:
                              http://de3.php.net/manual/de/function.parse-str.php, ups, ich torffkopp, vergesessen
                              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                              Meine Seite

                              Kommentar

                              Lädt...
                              X