Fehlende Cookies in cookies.sqlite

  • Huhu liebe Commuinty

    Ich schreibe gerade ein Automatisierungstool, dass es dem User erlauben soll gleichzeitig mit dem FF Browser zu surfen. Die Cookies die dem Browser gesendet werden und somit nicht meinem Prorgamm, soll dieses über die SQLite Datenbank cookies.sqlite geupdatet werden.

    Leider befinden sich nicht alle Cookies in der cookies.sqlite Datenbank. Wo könnten sie sein?

    Liebe Grüsse
    Nikolai

    Ps: Ich bin mir sehr sicher, dass diverse Cookies in der Datenbank fehlen, denn wenn ich die Cookies unter Einstellungen anzeigen lasse, sind sie da, in der DB jedoch nicht. Genauso kann ich alle Cookies über das Addon "Export Cookies" als txt Datei speichern. Wo finden diese Apps alle Cookies?

  • Danke für deine Antwort! :)

    Ja, ich betrachte die Datei cookies.sqlite mit dem SqLiteManager. Ich kann jedoch die Cookies nicht direkt öffnen (siehe Forensuche), sondern muss die Cookies in ein anderes Verzeichnis kopieren und von dort öffnen. Alternativ öffne ich die Datei über Java, mit dem org.sqlite.JDBC Driver, also wenn ich die Daten in mien Programm einbinden will.

    Ich achte mich jedoch, dass ich die cookies.sqlite erst nachdem ich keine Änderungen mehr im Broser tätige (Requests die die Cookies beeinflussen können) kopiere/verschiebe und öffne. Demzufolge sollte das Problem nicht am Kopiervorgang liegen.

    Insofern: Ja, ich kann mit dem Sql Manager nicht alle Cookies lesen.

    Jetzt weiss ich nicht, ob FF mehrer Cookie Ordner hat, oder ich den Manager falsche bediene...

    Grüsse

  • In der cookies.sqlite stehen alle Cookies.

    Gehe mit dem SQLite Manager so vor:
    Zuerst schließe Firefox. Warte, bis im Taskmanager der Prozess firefox.exe verschwindet. Dann kopiere die cookies.sqlite. Dann öffne Firefox; es darf bei den Cookies (durch die Startseite oder sonst etwas) nichts verändert werden. Dann sieh mit dem SQLite Manager die Kopie an und vergleiche mit den im Cookies-Fenster angezeigten Cookies.
    s.a. https://www.camp-firefox.de/forum/viewtopic.php?f=1&t=84710

    Wenn du nun nicht alle Cookies sehen kannst, teste in einem neuen Profil.

  • Danke. Du konntest mir weiterhelfen!

    Es handelt sich beim besagten Cookie um eine Session ID, die bis am Ende der Sitzung gültig ist. Beende ich den Browser, ist das Cookie nimmer da. Während der Browser läuft, kann ich nicht auf das Cookie via sqliteManager oder die cookies.sqlite Datei zugreifen...Insofern hat mir dein Vorschlag weitergeholfen, dass er mir klar gemacht hat, dass das Cookie gar nicht erst gespeichert wird.

    Wie kann dann sonst auf das Cookie zugriefen? Kann es sein, dass sie nur im RAM existiert, da sie ja beim beenden nicht gespeichert wird?

    Liebe Grüsse

    Ein zunehmend Verwirrter

  • Ich möchte keineswegs stressen, doch hat jemand eine Idee wie ich auf Cookies, die nach Beenden des Browsers gelöscht werden, zugreifen kann? Wo werden sie gespeichert? In cookies.sqlite offensichtlich nicht...
    Doch der Browser greift ja auf sie während der Laufzeit zu, jetzt müsste ich nur noch wissen ob er sie im RAM behält oder irgendwo abspeichert...Vieleicht gibts ja auch ein Interface ?

    Danke für eure Hilfe und frohe Festtage :)

  • Nein.

    Ich zitiere aus der Wiki:

    Code
    cookies.sqlite
    cookies.txt 	Holds all of your cookies, including login information, session data, and preferences.

    Ich möchte nicht die Cookies angucken, ich muss sie weiterverarbeiten und muss sie entweder via Datenbank oder txt Datei ausfindig machen. Doch sie werden offensichtlich NICHT in der cookies oder permissions Datenbank gespeichert, da sie beim Browserbeenden gelöscht werden :|

    Es handelt sich demzufolge um Session-Cookies mit begrenzter Lebensdauer. Kann ich genau diese Cookies, ausfindig machen, oder sind sie nur im flüchtigen Speicher und werden somit nicht auf die Feszplatte geschrieben, was ich mir schwer vorstellen kann...
    Mhh, hier 2 Bilder im Anhang die mein Problem hoffentlich illustrieren:

    Bild 1: Zeigt Cookies via SQLManager, nach beenden von Firefox, alphabetisch geordnet. Das SID müsste hier stehen. Während FF läuft anzuschauen macht kein Sinn, weil die Cookies erst beim beenden gespeichert werden (sonst müsste ja FF bei jedem ändern der Cookies während der Session immer neu abspeichern...)
    Bild 2: Zeigt Cookie namens SID mit einem bestimmten Wert IM FF Browser während der Session: Das heisst Firefox schreibt die Cookies immerhin da hinne^^

    Hoffe ihr verseht mich :?

    Liebe Grüsse
    Nikolai

  • Zitat von Die_Spinne

    Hoffe ihr verseht mich :?

    Ja. :)

    Zitat

    Ich möchte nicht die Cookies angucken, ich muss sie weiterverarbeiten und muss sie entweder via Datenbank oder txt Datei ausfindig machen.

    Zitat

    Genauso kann ich alle Cookies über das Addon "Export Cookies" als txt Datei speichern.

    Die Cookies aus dieser Textdatei auslesen und dann weiterverarbeiten geht nicht?

  • Alles schon getestet, diese Erweiterungen exportieren in der Tat ALLE Cookies, doch ich muss an die Daten kommen. Ich brache genau die Daten, die ein solches Cookieexport Programm hat. Und nicht über irgendeine Anwendung. Ich kann ja schliesslich mein Programm nicht an ein anderes koppeln :/

    Wie ist der Entwickler dieses Programms (Export Cookies) an die Cookies gekommen?

    Zitat von aborix

    Ja. :)
    Die Cookies aus dieser Textdatei auslesen und dann weiterverarbeiten geht nicht?


    Thats the point ^^

    Das ist in der Tat die Idee. Doch mein Programm überprüft alle 5 Sekunden, bzw bei manchen Funktionen alle 1/10 Sekunde ob sich die Cookies geändert haben. So schnell kann ich Cookie Exporter beim besten Willen nicht bedienen ;)
    Und den CookieExporter über ein Makro/Skript zu bedienen, dass ich in meinen Java Code einbinde wäre mehr als unschön. Was ich brauche ist entweder ein Interface zu allen Cookies oder halt die Funktionalität eines Programms wie CookieExporter und somit auch das Wissen, wo sich die temporären Cookies befinden...Die Dingers müssen ja irgendwo stecken, wie könnten sonst Programme wie Export Cookies, sie in eine Textdatei schreiben?

    Grüsse :P

  • Zitat von Die_Spinne

    Wie ist der Entwickler dieses Programms (Export Cookies) an die Cookies gekommen?


    Programmcode ansehen: [Profilordner]\extensions\exportcookies@aag\chrome\content\export.js:

  • Danke dir vielmals!

    Genau dieses Interface habe ich gemeint (war jedoch zu plöd mit vorzustellen, dass die Sources offen sind, was ja bei JS total lächerlich ist):

    Code
    var e = Components.classes["@mozilla.org/cookiemanager;1"]
                            .getService(Components.interfaces.nsICookieManager).enumerator;

    Gibts da auch ein Interface für Java?

    Liebe Grüsse

  • Zitat von aborix

    Bei Java weiß ich nicht Bescheid; vielleicht jemand anderer.

    Man kann auch Google fragen: :wink:
    http://www.google.com/search?q=java+cookies+read


    Mit denen Suchbegriffen bestimmt nicht^^
    Ich benutze HttpClient und handle die Cookies alle korrekt in meinem Programm. Die Cookies die mein Programm bekommt sind nicht das Problem. Ich brauche ein Interface zu Firefox.

    Das Problem liegt darin, dass ich ein Programm habe das einen Browser simuliert und gleichzeitig der User die Möglichkeit haben soll, mit dem FF zu browsen...

    Hier ein BSP für eclipse, da ich aber Netbeans benutze, nicht zu gebrauchen :(

  • Egal wie ich es lese, ich blicke immer noch nicht durch, worum es wirklich geht.

    An die Cookies zu gelangen ist ja kein Problem, denn da gibt es ein Interface, man kann auch die geladenen Seiten beobachten und danach die Cookies betrachten.

    Ein Anwender bewegt sich z.B. bei Amazon und erhält Cookies die nur für diese Session gültig sind. Was fängt man nun mit diesen Cookies in einem irgendwie gearteten Automatisierungstool an ?
    Ein paar Bücher extra bestellen ?
    Die Bankverbindung ändern ?

  • Zitat von .Ulli


    Ein paar Bücher extra bestellen ?
    Die Bankverbindung ändern ?

    Du weisst aber schon, dass ich solche Cookies nur habe, wenn der Nutzer explizit seine Passwörter eingibt? Beziehungsweise: der Endnutzer muss mir so oder so trauen! Sonst könnte ja der User hypothtisch davon ausgehen, dass mein Programm schlicht und einfach die Festplatte mehrmals formatiert und denr Code bis zur unkenntlichkeit obfuskiert ist :/

    Was willst du mir sagen? Dass man durch Programmieren Schaden anstellen kann? :roll:

    Meine Frage ist momentan: Gibts nen in Java geschriebenes nsICookieManager-Interface (ein Offenens, wo ncht nur Eclipse User gebrauchen können)...

    PS: Nur weil jemand fragt wie man am besten mit einem Messer schneidet, will man nicht gleichen wissen wie man tötet...
    Ach ich hab noch einen: Nur weil ich nen Glas Wasser bestelle, will ich niemanden ertränken xD

    Liebe Grüsse

  • Zitat von Die_Spinne

    Du weisst aber schon, dass ich solche Cookies nur habe, wenn der Nutzer explizit seine Passwörter eingibt?

    Jo, gewisse Grundkenntnisse der Kommunikation liegen hier schon vor.

    Die Sinnhaftigkeit des Automatisierungstools kam immer noch nicht rüber.

    Denn

    Zitat von Die_Spinne

    Das Problem liegt darin, dass ich ein Programm habe das einen Browser simuliert

    Was denn nun, hast du einen Browser oder ein Programm, dass so tut es wäre ein Browser ?
    Wenn das Programm einen realen Zugriff auf das Web hat und entsprechend interagiert, dann ist es ein Browser.
    Dann brauchst du aber auch keinen Fx als Cookielieferant.

    Innerhalb des Firefox findest du keinerlei Java. Jedoch sind hinreichend Alternativen geboten.

  • Zitat von .Ulli

    Was denn nun, hast du einen Browser oder ein Programm, dass so tut es wäre ein Browser ?
    Wenn das Programm einen realen Zugriff auf das Web hat und entsprechend interagiert, dann ist es ein Browser.
    Dann brauchst du aber auch keinen Fx als Cookielieferant.

    Mein Programm verschickt HTTP Requests und reagiert auf die Daten der Responses mit geeigneten/berechneten weiteren Requests. Es ist im herkömmlichen Sinne, ein browserähnliches Tool. (Der Browser parst ja eigentlich nur XML HTML, seine Request werden durch UI Kommunikation mit dem User erstellet/definiert, mein Programm hat gewisse Routinen/Automatismen die es ermöglichen komplexere,wieder vorkommende Aktionen in abstrahierte Routinen zusammenzufassen).

    Der Grund weshalb ich FF brauche ist folgender: Der User soll FF und meinen Bot gleichzeitig nutzen können. Schliesslich habe ich keinen Lust den ganzen Content zu parsen und den Browser komplett zu simulieren. Ausserdem kann das FF sicherlich besser^^
    Hinzu kommt das Problem, dass gewisse Seiten, die ich mit meinem Bot bedienen will, Session IDs haben, die sich sehr schnell ändern. Problem dabei ist, dass der Server die sich schnell ändernden Session IDs je nach Client (mein Bot oder halt FF) verschickt. Sprich: Wenn FF die Cookies bekommt, muss mein Programm sich die via FF Interface ziehen...

    Besser kann ich's ned erklären...

    Zitat von .Ulli

    Innerhalb des Firefox findest du keinerlei Java. Jedoch sind hinreichend Alternativen geboten.


    ...?