Verschluesselte SQLite3 DB mit PDO aufrufen moeglich?

  • Heyho,
    ich bin grade ueber ein Problem gestolpert:
    SQLite3 bietet ja die Moeglichkeit, das DB-File zu verschluesseln (siehe PHP Dokumentation)
    Gibt es nun die Moeglichkeit, eine solche DB, welche vorher mit Enc-Key erstellt wurde, via PDO abzufragen?


    Meine Idee war so, aber das hat nicht geklappt:


    Ich habe keine funktionierende Moeglichkeit gefunden, dem PDO da irgendwo einen Schluessel mitzugeben, falls noetig. Auch die PHP Doku schweigt still ... :cursing:
    Hat wer ne Idee?

  • ;( Meh.
    Ich hatte eigentlich gehofft das klappt, weil das naemlich fuer manche Szenarios genial waere. Bei Newsletter Anmeldungen die Adressen bis zur Bestaetigung zwischenspeichern oder sowas, wo MySQL die beruehmte Kanone auf die Mail-Spatzen waere.


    Aber solche Daten will ich halt nicht unverschluesselt lassen ... dann muss ich mich halt doch mit dem .htaccess Verzeichnisschutz rumaergern :(


  • [...] dann muss ich mich halt doch mit dem .htaccess Verzeichnisschutz rumaergern :(


    oder du legst die Dateien unterhalb des Einstiegspunktes deiner Domain ab.
    also nicht
    htdocs/index.html
    htdocs/useremail.txt


    sondern den Einstiegspunkt z.B. auf einen public Ordner legen
    htdocs/public/index.html
    htdocs/notReachableFromOutside/useremail.txt



    Ansonsten bei Verschlüsselung habe ich das hier gefunden SQLite3

  • Ich hab da doch noch was gefunden.
    PDO bietet keine Moeglichkeit, auf die Verschluesselungsengine von SQLite zuzugreifen. Dafuer hat aber SQLite die Moeglichkeit, einen aehnlichen Zugriff wie PDO auf die DB aufzubauen (Bsp von php.net):


    Da hier direkt ein SQLite3 Objekt erstellt wird, kann man dabei theoretisch auch die Tabelle verschluesseln.
    Nun die Frage: Maskiert das Nutzereingaben genauso wie PDO? Ich denke schon, habe aber keine Bestaetigung gefunden.

  • Ich versteh nicht was Du da speichern möchtest. Was sind das für Daten?


    Ohne es testen zu können denke ich, dass es funktionieren sollte ... könnte :D :

  • Ich möchte da Daten speichern, die ich nicht dauerhaft brauche. Bspw. bei einer Newsletteranmeldung wo erstmal eine Mail mit Bestätigungscode geschickt wird, wäre es leichter einfach kurz die Mailadresse + Bestätigungscode in die SQLite zu schieben, bis der Bestätigungslink geklickt wird und man die Mail in eine richtige MySQL DB schiebt. Ich muss ja diesen Bestatigungscode nicht bis zum Ragnarök irgendwo festhalten, der wird ja nur einmal gebraucht. Man koennte dann natuelrich auch noch weitergehen und einfach anstatt eine Verbindung zum MySQL-Client aufzubauen, beim Newsletter verteilen einfach dieses SQLite-File ranziehen.


    Dann bietet sich so eine SQLite einfach an. Stichwort Kanone und Spatzen ...

  • Ah, ok. Ich hab das mit nem Feld "email_active" oder s.ä. gelöst. Wenn > 0, dann ist es der Bestätigungscode, sonst (wenn betätigt) wird es auf 1 gesetzt.
    Oder, wenn Du sowieso mysql nutzt, dann erstelle doch eine Tabelle wie zB
    user_id , actv_code
    Das ganze nimmt kein Platz weg und bei Aktivierung kannst Du den Eintrag löschen.
    Will Dir da aber nicht reinreden =)


    Ging es denn mit dem Bsp oben?