Anton: Get-Variable mit spezialzeichen

Ich will, dass der Wert meiner GET-Variable, eine SQL-Abfrage ist.

Da jedoch der SQL-Syntax einige unbrauchbare Zeichen hat (z.B. "SELECT * FROM table WHERE id='1'") geht das nicht so leicht.

Wie löst man so was?

Herzlichen Dank im voraus.

  1. Nabend,  <- Dies ist eine Begrüßung

    Da jedoch der SQL-Syntax einige unbrauchbare Zeichen hat (z.B. "SELECT * FROM table WHERE id='1'") geht das nicht so leicht.

    Ja, SELECT * solltest du in der Tat vermeiden.

    Wie löst man so was?

    Indem du den String vorher mittels urlencode() bearbeitest.
    http://php3.de/urlencode

    Bis denne,

    1. Nabend,  <- Dies ist eine Begrüßung

      Huch.. sch'nabend

      Danke und bis die Tage

  2. Hallo,

    Ich will, dass der Wert meiner GET-Variable, eine SQL-Abfrage ist.

    Bist Du lebensmuede?
    Sowas darfst Du hoechstens tun, wenn das Skript
    passwortgeschuetzt ist und Du als einziger das
    Passwort weisst.
    Sonst ist sowas virtueller Selbstmord. Oder so.

    Da jedoch der SQL-Syntax einige unbrauchbare Zeichen hat (z.B. "SELECT * FROM table WHERE id='1'") geht das nicht so leicht.

    "Alle" Zeichen lassen sich auch als URL-Parameter uebergeben,
    wenn sie entsprechend codiert sind.
    http://www.php.net/manual/de/ref.url.php

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
    1. Hallo und Danke,

      Bist Du lebensmuede?
      Sowas darfst Du hoechstens tun, wenn das Skript
      passwortgeschuetzt ist und Du als einziger das
      Passwort weisst.
      Sonst ist sowas virtueller Selbstmord. Oder so.

      Es ist nur auf der Administrator-Seite meines CMS machbar, und nur ein Teil einer SQL-Abfrage (Die Werte nach "ORDER BY")

      Ist das immer noch Gefährlich?

      Gruss Anton

      1. Hallo,

        Es ist nur auf der Administrator-Seite meines CMS machbar, und nur ein Teil einer SQL-Abfrage (Die Werte nach "ORDER BY")

        Naja, wenn Du der einzige Benutzer bist oder allen,
        die sonst noch Zugriff haben, 100% vertraust...

        Solange es nur um SELECT-Abfragen geht
        und nicht um UPDATE/INSERT/DELETE, ist
        das Risiko AFAIK auch nicht extrem hoch.

        Trotzdem: Guter Stil ist sowas nicht.
        In diesem Sonderfall kannst Du es so
        machen - aber auf eigene Gefahr,
        und denk daran: Tue sowas nie mit einem
        oeffentlich zugaenglichen Skript!

        Gruesse,

        Thomas