Ankündigung

Einklappen
Keine Ankündigung bisher.

Sicherheit bei Abfragen.

Einklappen

Neue Werbung 2019

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

  • Sicherheit bei Abfragen.

    Guten Tag,
    ich habe eine Frage zum Thema Sicherheit.
    Wenn ich auf meiner Homepage Datenbankanfragen mache, auf Welche Sicherheitsaspekte muss ich dann achten?

    Ich weiss z.B. das ich in einem Formular z.B. einem Login in den Abfragen SQL-Injections mit mysql_real_escape_string verhindern kann. Aber ist das schon alles?
    Und muss man nur bei Formularen bzw. Änderungen in der Datenbank auf solche Dinge achten oder beim Normalen Select auslesen auch?

    Ich habe mittlerweile einiges über Stored Procedures, Prepared Statements
    oder aber auch über das PHP PDO gelesen (mit dem ich mittlerweile auch meine Selectanweisungen mache). Da es in manchen Artikeln mit dem Thema Sicherheit in Verbindung gebracht wurde. Beim genaueren Recherchieren bin ich allerdings nie auf etwas genaueres gestoßen.

    Ich hoffe man kann mir hier vll. weiter helfen. Gerne auch mit einem Link zu einem Artikel. Vll. war ja meine Suche einfach nicht erfolgreich.

    Vielen Dank.
    Frost.

  • #2
    Alles von "aussen" gehört geprüft. Sicherheit resultiert aus dem korrekten Einhalten von Kontextwechseln. ISt ein Teil vom Ganzen, denn nicht nur Sicherheit sondern auch mögliche Syntaxüberschneidungen sind ein Problem, wenn man das nicht macht.

    Lesestoff:

    Kontextwechsel allgemein - die Grundlage allen Übels: http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel
    Sicherheit: http://php-de.github.io/#security
    Formuarverarbeitung -> Sicherheit: http://php-de.github.io/jumpto/sicherheit/

    LG

    Kommentar


    • #3
      Vielen Dank für die Links und die Hilfe. Werde mir das gleich mal zu Gemüte führen.

      Kommentar


      • #4
        Moin,

        Ich habe mittlerweile einiges über Stored Procedures, Prepared Statements
        Stored Procedures brauchst du in diesem Zusammenhang nicht.
        Prepared Statements sind das richtige Mittel um dich gegen SQL-Injections zu schützen.
        Diese kannst du, für MySQL-Datenbanken, über PDO oder die mysqli_*-Erweiterung einsetzen. (Bei pdo dann auf die nativen Prepared Statements setzen http://stackoverflow.com/questions/8...red-statements)

        Hier ist auch ein netter Post zum Thema Kontextwechsel, bzw kannst dir ja generell den Thread mal ansehen.
        http://www.php.de/php-einsteiger/113...tml#post832379


        Zu den anderen kleinen Fragen:
        Ich weiss z.B. das ich in einem Formular z.B. einem Login in den Abfragen SQL-Injections mit mysql_real_escape_string verhindern kann. Aber ist das schon alles?
        Joa, richtiges quoten und escapen reicht. Prepared Statements nehmen dir diese Aufgaben ab.

        Und muss man nur bei Formularen bzw. Änderungen in der Datenbank auf solche Dinge achten oder beim Normalen Select auslesen auch?
        Was ist denn ein normaler Select? Wichtig ist immer den Kontext zu beachten.
        http://php-de.github.io/#security

        Kommentar

        Lädt...
        X