-
29. 01. 2012, 15:43 #1
[JS] WBB - Private Nachrichten löschen
Tag zusammen.
Aktuell versuche ich, ein Greasemonkey-Skript zu machen, mit dem man alle private Nachrichten von einer Community mit wenig PN-Speicherplatz in meine MySQL-DB auslagern kann (verschlüsselt etc).
(Screenshot: http://awesomescreenshot.com/0e8t2m8af )
Alles funktioniert super - Auslesen der Nachrichten, Betreff etc., verschlüsselter Upload auf meine DB.
Allerdings sollen die übergebenen Nachrichten vom WBB (Burning Board) Forum danach gelöscht werden, und das klappt aktuell nicht sehr gut.
Forum: forum.sa-mp.de
Die offensichtlich relevanten JS-Dateien dafür:
PMListEdit.class.js (führt Aktionen zum Bearbeiten von Aktionen aus)
InlineListEdit.class.js (markiert Nachrichten bspw)
Den SECURITY_TOKEN etc. kann ich problemlos auslesen.
Die Methode aus der PMListEdit
funktioniert insofern nicht, als dass der Security-token sich wohl nach jeder Löschung ändert.Code:/** * Deletes a message. */ this.remove = function(id) { if (confirm(language['wcf.pm.delete.sure'])) { document.location.href = fixURL('index.php?page=PM&action=delete&pmID='+id+'&folderID='+folderID+'&t='+SECURITY_TOKEN+SID_ARG_2ND); } }
Die einzige Möglichkeit wäre also
allerdings weiß ich nicht, wie ich einzelne von mir gewünschte Nachrichten löschen kann.Code:/** * Deletes the marked messages. */ this.removeMarked = function() { if (confirm(language['wcf.pm.deleteMarked.sure'])) { document.location.href = fixURL('index.php?page=PM&action=deleteMarked'+'&folderID='+folderID+'&t='+SECURITY_TOKEN+SID_ARG_2ND); } }
Ich hatte bereits versucht, einen Klick auf die Checkboxen zu simulieren, allerdings geht das logischerweise nur bei offenen Seiten, und nicht bei per GM_xmlhttpRequest geholten weiteren Seiten (unten die nächsten Seiten werden nur per diesem Befehl geholt).
Schönes Wochenende und möge der Kugelfisch mit mir sein,
DankeschönGeändert von Dankeschön (29. 01. 2012 um 15:52 Uhr)
-
29. 01. 2012, 16:11 #2
Re: [JS] WBB - Private Nachrichten löschen
Warum schaust du nicht einfach nach, wie die Markierung der einzelnen Nachrichten gespeichert wird? Sofern das auch seitenübergreifend funktioniert, werden dort vermutlich Cookies im Spiel sein. Dann könntest du doch einfach diese Cookies durch dein Script setzen lassen. Bei anderen Verfahrensweisen sollte man dem Server die zu löschenden Nachrichten ebenfalls scriptgesteuert mitteilen können. Mir fällt zumindest kein potenzieller Hinderungsgrund ein.
-
29. 01. 2012, 17:00 #3
Re: [JS] WBB - Private Nachrichten löschen
Das ist das Problem -
ich habe nicht herausfinden können, wie WBB markierte Beiträge speichert...
Der dafür offensichtlich benutzte Datei (s.o., inlineedit) konnte ich nicht ansehen, wie die das macht.
-
29. 01. 2012, 17:11 #4
Re: [JS] WBB - Private Nachrichten löschen
Es gibt ja auch noch die Möglichkeit, einfach die vorliegenden Anfragen anzuschauen und zu prüfen, ob man nicht einfach das Format auch ohne den Code versteht. Die Möglichkeiten, die ausgewählten Checkboxen zu übermitteln, sind ja doch sehr begrenzt. Schau dir einfach mal die Anfrage an, die der Browser zum Server sendet. Da die Daten offenbar nicht im URI enthalten sind, bleibt ja eigentlich nur ein Cookie oder ggf. ein Request-Body
-
29. 01. 2012, 17:34 #5
Re: [JS] WBB - Private Nachrichten löschen
vBulletin nutzt (bei vorhandenem JavaScript übrigens clientseitig erzeugte) Cookies, das WBB startet jedoch für jedes Setzen oder Löschen einer Markierung eine AJaX-Anfrage und speichert die Informationen über markierte Nachrichten serverseitig in einer Session-Variable. Die zugehörige POST-Anfrage geht an den URI /index.php?page=PM&t=<SECURITY_TOKEN>, die POST-Parameter sind action=mark und pmID, die ID der zu markierenden Nachricht. pmID kann dabei auch ein Array in PHP-üblicher Notation sein, z.B. action=mark&pmID[]=1&pmID[]=2&pmID[]=3 (als POST-Request-Body). WBB selbst nutzt solch eine Anfrage bei Nutzung der Alle-markieren-Checkbox.
-
29. 01. 2012, 17:54 #6
Re: [JS] WBB - Private Nachrichten löschen
Vielen Dank für eure Hilfe.
Wollte grade den von Firefox angezeigten POST-Request aufgrund des Tipps von antichrist untersuchen, aber Kugelfisch kam mir zuvor.
Riesiges Danke also für eure schnelle und gute Hilfe.
-


Zitieren
mehr lesen...







Occupy Kiel: Massiver Sachschaden...
Heute, 20:15 in gulli:news