Paul: MySQL-Feld direkt in md5 umwandeln

Hallo Freunde,

kurze Frage: Ist eine Abfrage wie "SELECT * FROM tabelle WHERE md5(name)=..." technisch in Ordnung?

Gruß Paul

  1. Hi,

    kurze Frage: Ist eine Abfrage wie "SELECT * FROM tabelle WHERE md5(name)=..." technisch in Ordnung?

    nein. Vom Selektieren von "*" abgesehen bedeutet dies insbesondere zwei Dinge:

    1.) Die Selektion läuft auf einen Full Table Scan hinaus, weil Du ziemlich sicher keinen Index auf md5(name) gelegt hast.

    2.) In der Spalte name liegen offenkundig sensible Daten, die Du im Klartext gespeichert hast.

    Speichere in name also gleich den MD5-verschlüsselten Wert.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi, danke aber in dieser Tabelle liegen auch nur drei Datensätze. Das Feld name sollte auch im Klartext gespeichert sein, weil ich ihn in der Ausgabe brauche. Er sollte halt nur als kleine zusätzliche Sicherheit in der Session nicht im Klartext gespeichert sein.

      1. Tach,

        Er sollte halt nur als kleine zusätzliche Sicherheit in der Session nicht im Klartext gespeichert sein.

        ich sehe nicht, wie du dadurch an Sicherheit gewinnst; wer an die Rohdaten der Session kommt, hat fast sicher bereits auch Zugriff auf die Datenbank.

        mfg
        Woodfighter

        1. Hello,

          Er sollte halt nur als kleine zusätzliche Sicherheit in der Session nicht im Klartext gespeichert sein.

          ich sehe nicht, wie du dadurch an Sicherheit gewinnst; wer an die Rohdaten der Session kommt, hat fast sicher bereits auch Zugriff auf die Datenbank.

          Das muss nicht so sein.
          Bei vielen shared Hosts ist leider noch ein gemeinsames Session-Dir eingerichtet und dann sind die Sessiondateien meistens entführbar, bzw. auslesbar.

          Man weiß zwar i.d.R. nicht, zu welcher Domain sie gehören, aber manche Coder schreiben ja sogar solche Daten in ihre Sessiondateien.

          Liebe Grüße aus dem Cyberspace

          Tom vom Berg

          --
          Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
          1. Tach,

            Bei vielen shared Hosts ist leider noch ein gemeinsames Session-Dir eingerichtet und dann sind die Sessiondateien meistens entführbar, bzw. auslesbar.

            dann liegt der Fehler darin, dieses Verzeichnis zu nutzen, statt ein eigenes: http://de3.php.net/manual/de/function.session-save-path.php.

            mfg
            Woodfighter