2012-03-28 8 views
0

Ich muss Cookie für FireFox Browser erstellen/aktualisieren/entfernen. Dieser Cookie ist ein Client-Cookie, da er von der C++ - Programmdatei erstellt werden muss und auf dem Endbenutzercomputer vorhanden sein wird.Kann eine eigenständige/externe C++ - Programmdatei oder JavaScript Cookies für Firefox erstellen?

Wie kann ich das erreichen?

Danke

+0

Das kann überhaupt nicht gut sein. Wenn Sie Cookie-Zugriff/Kontrolle benötigen, sollte es aus dem Web keine Anwendung kommen. Dies ist Spyware, Adware oder Limitware in ihrer hässlichsten kein Zweifel. Ich kann keiner App vertrauen, die "ihre eigenen Cookies" lokal verwalten möchte. Kein Weg, nein wie. –

+0

Sie bitten um Zugang zu einer privaten Datenbank. Wenn es offensichtlich mehrere tausend verschiedene Wege gibt, um ein "nennenswertes" Ergebnis zu erzielen, ohne durch private Daten zu suchen. –

Antwort

2

Sie haben grundsätzlich zwei Möglichkeiten:

  • Sie versuchen, Firefox-Daten (Datei cookies.sqlite) direkt zu manipulieren. Es ist eine ziemlich einfache SQLite-Datenbank, so dass es nicht kompliziert ist. Fang 1: Dies kann nicht ausgeführt werden, während Firefox läuft. Fangen Sie auch 2: das Format kann sich in der Zukunft ändern (wie vorher geschehen) und Ihre Anwendung wird nicht mehr funktionieren oder, schlimmer noch, brechen Sie die Datei.
  • Sie tun es von innen Firefox. Zum Beispiel würden Sie eine bootstrapped extension schreiben, die nsICookieManager2 interface verwenden würde, um das Cookie hinzuzufügen und dann Add-on Manager API, um sich unmittelbar danach zu deinstallieren. Dann müsste Ihre Anwendung nur Firefox mit der Befehlszeile firefox -url file:///path/to/extension.xpi ausführen (funktioniert auch, wenn Firefox bereits läuft). Der Haken hier: Der Benutzer muss die Installation der Erweiterung bestätigen. Du kannst es nicht hinter seinem Rücken tun, du musst erklären, was passiert und warum.
+0

Das ausführbare C++ muss mit Firefox in Verbindung stehen, da es abhängig von verschiedenen Bedingungen von Zeit zu Zeit aktualisieren/entfernen muss. Wenn der Benutzer beispielsweise für 5 Minuten inaktiv ist, sollte die C++ - Programmdatei diesen Cookie entfernen. Ich habe mir überlegt, SPIDERMONKEY so zu verwenden, wie auch immer JavaScript ausgeführt wird, es wird in FireFox sein. Aber nicht sicher, ob es funktioniert. – dpb

+0

Um etwas "innerhalb von Firefox" auszuführen, benötigen Sie eine Erweiterung, siehe Option 2. Das ist die einzige Option, wenn Sie wissen möchten, was in Firefox passiert. –

+0

Sorry, aber ich bin ein Neuling auf Firefox. Ich habe nicht bekommen, wie man die Kommunikation zwischen C++ und Firefox aufrecht erhält. Wenn Sie mir ein Tutorial zur einfachen Bootstrap-Erweiterung zeigen können, wird es eine große Hilfe sein. – dpb