Ergebnis 1 bis 5 von 5

Thema: SQL-Injections verhindern

  1. #1

    SQL-Injections verhindern

    Moin,

    ich mache mir gerade Gedanken darüber, wie ich für mein CMS am besten SQL-Injections verhindern kann. Momentan ist die einzige Usereingabe, die in meine SQL-Strings kommt, eine Seiten-ID, die in der URL angegeben wird. Folgende Ansätze habe ich jetzt, um Injections zu verhindern:

    1. Aus dem mit GET übergebenen String mit intval() eine Integer holen und die in den SQL-String bauen
    2. Mit einem regulären Ausdruck (gibt's da noch andere Möglichkeiten?) überprüfen, ob der ID-String nur Integers enthält, und - falls das nicht der Fall ist - eine Fehlermeldung ausgeben.
    3. Sämtliche Seiten aus der Datenbank holen und mit foreach abgleichen, welche Seite ausgegeben werden soll

    Welche dieser Methoden haltet ihr für die beste? Wie verhindert ihr SQL-Injections?

  2. #2
    Ich wäre jedenfalls für die intval-Variante - die ist imo am einfachsten. Das ganze mit RegExps zu überprüfen, wäre ein wenig zu viel Mühe. Die 3te Möglichkeit ist bei größeren Tabellen mit einigen tausend Einträgen wohl zu langsam

  3. #3
    Ich kenne noch die Möglichkeit Variablen, die als Volltext in die Datenbank eingetragen werden zuvor mit addslashes zu bearbeiten.

    Alternativ MagicQuotes beim Server einschalten, die bieten nämlich auch einen Schutz vor SQL-Injections.

  4. #4
    Mmmm.

    Also in meinem CMS System habe ich dafür 2 Schutz systeme.

    1,Nur Init ist zugelassen.
    2,Nur wenn die ID Vorhanden ist wird ein Script ausgefürt anderrn falls wird zu einer Error.html die nix weiter tuht als die Tamplete error.CHMST datei auszulesen (CHMST ist meine Tamplete datei ^^ )

  5. #5

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •