BindValue/Param benutzen Frage

  • Hallo,


    ich wollte mal Fragen wie man hier BindValue/Param einsetzen kann oder ob man es überhaupt sicher machen kann.


    Script:


  • Die query und sub-queries versteh ich nicht. Kenn ja den Hintergrund|System nicht.

  • cottton


    Deswegen die sid & id:


    Hat alles super geklappt mit dem Like-System. Nur will es auch halt sicher machen

  • Ok, dann wie im code in meinem vorigen Post die Platzhalter verwenden.


    Bei der Stelle allerdings SELECT {$sid}, {$id} nutzt Du GET und SESSION values direkt in der Query.

    Ich verstehe nicht, wie das funktionieren soll.


    SELECT 12, 5 FROM ... -- das macht doch keinen Sinn. Es gibt doch sicherlich keine Spalten in der Tabelle dafür.


    Davon mal abgesehen:

    PLatzhalter können nur für values genutzt werden.

    Tabellennamen oder Spaltennamen können also nicht per Platzhalter eingefügt werden.


    Nicht funktionierendes Bsp :

    SELECT :placeholder_foo, :placeholder_bar FROM ...


    Um das aber per Variablen sicher zu gestalten nutzt man zB Whitelists.


    Oder du legst ein Regex drüber, und entfernst alle nicht gültigen Zeichen.

    Hier mal ne funtion, die ich dafür oft benutzt hab:

    PHP
        public function letterNumberUnderscoreOnly($string)
        {
            return preg_replace("/[^\w]/", '', (string)$string);
        }


    Gibt sicherlich noch andere Möglichkeiten.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!