Variablenübergabe und Navigations ID -> Sicherheit

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

  • Variablenübergabe und Navigations ID -> Sicherheit

    Hallo,

    ich bin neu hier im Forum und habe die Suchfunktion schon ein wenig gequält. Zu meiner Person: Ich studiere Wirtschaftsinformatik Diplom im 4. Semester.

    I:
    Ich habe vor einen Webshop zu bauen und habe ein paar Sicherheitsfragen.
    Wenn ich ein Formular habe und die Variablen per _Post[] übergebe, könnte jmd dann versuchen über die Adressleiste bzw URL dieses Array zu manipulieren, oder wäre das dann das _GET Array und würde in diesem Fall ignoriert?
    Dann wäre es ja z.b. über isset möglich die GET Variable zu prüfen und schon mal einen potentiellen Angriff zu registrieren oder?


    II.
    Wie übergebt ihr die Navigation ID's für euren Index? Über URL also get Methode? Ist das sicher? Ich will eigentlich nicht das jeder in der URL die ID's etc sieht. Könnte man auch in einer Session eine Variable für die Navigations ID setzen, die dann von der Index.php ausgelesen wird. Dann müsste man ja nur vor den Link Klick, die ID in der Session ändern und die index.php aufrufen und die Adressleiste wäre sauber.
    Für elegantere Lösungen bin ich natürlich Ohr.

    Hoffe es wurde nicht schon zu oft abgehandelt,

    Jörg

  • #2
    zu 1.
    alles richtig was du geschrieben hast.
    in $_POST befinden sich nur post-parameter und in $_GET eben nur get-parameter.
    wenn du auf eines von beiden explizit zugreifst, werden die anderen parameter nicht beachtet bzw. du kannst testen, ob jemand etwas manipuliert hat.
    anders sieht es bei $_REQUEST aus, hier stehen alle daten drin.

    zu 2.
    sehe kein problem darin, die id per get zu übertragen.
    wie soll deine sessionlösung funktionieren? die daten müssen ja erstmal in die session kommen und dazu auch vom client übertragen werden (get) - wie war das gleich nochmal mit der katze?

    Kommentar


    • #3
      Ok, gibt es denn eine Möglichkeit, wenn man z.B. die SessionID per URL übergibt, diese in der Adressleiste zu verbergen. Also das in der Adressleiste nur die Domain angezeigt wird, - weder *.php noch Variablen.
      Wenn man einen Link kopiert, kann sie ruhig angezeigt werden.

      Kommentar


      • #4
        hi Turbo,

        vorneweg, wenn du auf cookies in deinem webshop bestehst, hast du das prob nicht mit der session-id im url.

        aber ich fand deine frage höchst interessant und habe mir mal etwas überlegt:

        1. gegeben sei ein link mit diversen parametern, er verweist auf die index.php (index.php?para1=wert1&para2=wert2), die index.php muss nicht explizit im url angegeben werden, da der apache sie default automatisch aufruft (das funktioniert aber nicht mit parametern)

        2. also scriptx.php zwischenschalten. die entsprechenden links also auf scriptx.php?para1=wert1&para2=wert2 umschreiben. dieses script registriert alle parameter in einer session und setzt anschließend einen header("Location: ") auf http://domain.tld (ohne index.php)

        3. der apache ruft jetzt die index.php auf, da im url keine datei angegeben wurde. die index.php puhlt jetzt alle parameter aus der session.

        tjo, das wars. in der adresszeile sieht man nur die domain und in der index.php stehen alle parameter zur verfügung.

        Kommentar


        • #5
          eine komplizierte Lösung wäre, die id's zu verschlüsseln mit einem session-Schlüssel. Man kann sie auch zufallsmässig machen, mit der Interpretation via session. Dann sieht man sie, aber es nützt nichts. Eine andere komplizierte Lösung wäre, mit javascript beim Klick auf ein Menü ein cookie zu setzen, dessen Wert die id enthält. Dann sieht man sie nicht. Mit javascript kann man die id auch noch per <img> übergeben. Weiter kann man alle links als <form> ausgestalten.

          Es gibt also Möglichkeiten, genau deinen Wunsch zu erfüllen (alle praxisunerprobt und theorie, aber ich denke es funktionieren alle).

          Kommentar


          • #6
            Danke Ihr beiden, habt mir gut geholfen. Denke werde erstmal die Lösung von 3DMax umsetzen! Wenn ich was besseres finde schreib ich mal wieder rein hier.

            Kommentar

            Lädt...
            X