• Wenn du hier im Forum ein neues Thema erstellst, sind schon Punkte aufgeführt die du ausfüllen musst. Das dient im Allgemeinen dazu die notwendigen Informationen direkt mit der Frage bereitzustellen.
    Da in letzter Zeit immer wieder gerne das Formular gelöscht wurde und erst nach 3 Seiten Nachfragen die benötigten Infos für eine Hilfe kommen, werde ich nun jede Fragestellung die nicht einmal annähernd das Formular benutzt, sofort in den Sondermüll schicken.
    Füllt einfach die abgefragte Daten aus und alle können euch viel schneller helfen.

[Problem] Search-Plugin für Firefox erstellen für auf XenForo laufende Foren

moebius

Aktives Mitglied
Registriert
8. Dez. 2014
Beiträge
3
Punkte
26
Ein herzliches Guten Abend in die Runde! :)

Ich habe mich hier im xendach-Forum mit der Hoffnung registriert, dass mir vielleicht jemand bei dem folgenden Problem helfen kann:

Für den Firefox-Browser möchte ich mir gerne ein Search-Plugin für ein Forum erstellen, das auf XenForo läuft (also ebenso wie z.B. xendach). Das ist u.a. ganz einfach mit dem Firefox-Add-On Add To Search Bar möglich. Mit dem Search-Plugin kann man dann direkt über die Search Bar von Firefox das betreffende Forum durchsuchen, muss also nicht erst die Forumswebseite im Browser aufrufen und das dortige Suchfeld benutzen.

Das Add-On legt dafür im Firefox-Profilordner im Unterverzeichnis searchplugins eine xml-Datei an. Der darin enthaltene Code lässt sich ganz normal in einem Texteditor ansehen und modifizieren.

Die xml-Datei für das Forum xendach sieht dann wie folgt aus:
Code:
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
<os:ShortName>xendach</os:ShortName>
<os:Description>xendach</os:Description>
<os:InputEncoding>UTF-8</os:InputEncoding>
<os:Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADeElEQVQ4jU3TW2iTdxjH8bdtsprOWlvNsQNFNoZXirpB50AGu5C5U9raQ5rkTZaubzpcVg9zbOlAcaWHpKbvm7/2mCY9Sms6R9lmdbXWsYOMjhZZnayGLdNeFIbgKKMrzO8uWsSL5+7hA7/nxyMZZbXMUhMTRlkVRlkVJo8mMu1NwuLRxNLDf0Ts5p/CKGtCb28SJlkTRll7vGupiQnJ6I4mCuuSWP1xbP44Blc7zx8bZm5xme7pBbz9P9NyY5GiU+NsdLVjrolh9cex+uMU1iWRjLImrP44Zk+UzOJmXvn0Aumlh3zUP02GvQnD4RD760cITS7g6/mWLS6VvMqzmD1RrP74GmBWesmwN+MTX3P/r78pbb5Ehr0ZsyeKxRMlt6IVq1cQGLxJ48Qd9nw4QE5ZCLPSi7TJERF6x3kakz+ysPiAfSf60JW0YPFEMXs0TLKGSY5S4FQxHA5x4FSS8OQCrvYptvi6kbZVCzE2k+b72/d5xncOQ3kYizeKySMwuDUyKlrJdKhkOVWyqtqQilvIdau8NzxDw7U00vH4lBj47i55jgibHRGs3ihWT5R8l4ZJ6WB85jeu3UoxMZviymyKK3Mprs6lKA5d4uXPvkLaXKWKbLmL7PIwG50q+V5BjiOCrjzMtvd7gEcE4pPsPt7HC8Fh9gWHeLH+AtuPdJMrdyDlV0VErpLgncQP7Dg6iPR2E/vPfMEbbVcxK50sr/zLgdMjSG+Gkcq19Ymgd2rY1lpQRaYnxmutlzn95TyFtV1o1//g2aP9mJROVlZXOdgwilQSQudUyXJqZDlVnpafqNGgJJBKw7i7bvDx53PsPDmIVBzGWtvF/L0lfrq7yPVf0kzPp5m+nWb613u8FBwiz9v1BFDSwqHWyyRvPWDniQGk0jDGmk56vpmhJDzG7pN97P1kgL3BQfYEhyioPo+5pncNkOQedgVHaZy4Q1H9KJGp38n3tWNROnjEf7x65iLSWyGkShWpQkWqVMl2r0fY5IgIc2CQ0GSKXcERpNebsEcnOXZxFlttN8srKxxsHEMqO4teFjzlFuhkwQb53BqQXxURtsAwOwJx9FVt5MiCDS6N7Ud6eS4QY2V1lUONyceAXl4DDLJYP6InmrB9MMrW6h5s6x9pVXop8HWTW9tHUcM4WwND6N6No1cS6JUEOiVBjpKgsC7J/6wDSLbBmT8WAAAAAElFTkSuQmCC</os:Image>
<SearchForm>http://www.xendach.de/</SearchForm>
<os:Url type="text/html" method="POST" template="http://www.xendach.de/search/search">
  <os:Param name="keywords" value="{searchTerms}"/>
  <os:Param name="users" value=""/>
  <os:Param name="date" value=""/>
  <os:Param name="_xfToken" value=""/>
</os:Url>
</SearchPlugin>

Bei offenen Foren wie xendach, bei denen die Suchfunktion auch für nicht-registrierte Nutzer freigegeben ist, funktioniert das wunderbar und ohne Probleme.

In Foren, in denen die Suchfunktion nur für registrierte Nutzer freigegeben ist, funktioniert das Search-Plugin jedoch nicht (bzw. nur für die Zeitdauer einer Session; wenn ich das Plugin z.B. am Folgetag nutzen möchte, funktioniert es nicht mehr; näheres siehe unten) - auch dann nicht, wenn ich mich vorher als registrierter Nutzer bei diesem Forum eingeloggt habe.
Ich meine auch den Grund dafür gefunden zu haben: Er liegt sehr wahrscheinlich in der Zeile mit dem Sicherheitsparameter xfToken. Denn im Code der Search-Plugins aller Foren, bei denen das Search-Plugin nicht dauerhaft funktioniert, ist in dieser Zeile ein Wert angegeben, z.B.

Code:
<os:Param name="_xfToken" value="
416%2E1209251402%2C01ff261d241392b54184aacf2262d43fae50e68a"/>

Der xfToken scheint sessionabhängig vergeben zu werden, so dass das Search-Plugin direkt nach der Erstellung zwar eine Weile funktioniert, nach Ablauf der Session aber nicht mehr. Statt der Suchergebnisse meldet die XenForo Software des betreffenden Forums dann:

"Ein Sicherheitsfehler ist aufgetreten. Bitte verwende den "Zurück"-Button in deinem Browser, aktualisiere die Seite und versuche es erneut."

Mich würde nun folgendes interessieren:

1. Ist es evt. möglich, das Search-Plugin so zu erstellen, dass der Inhalt für den Sicherheitsparameter "_xfToken" jeweils dynamisch aus der jeweiligen Session (z.B. dem Cookie) ermittelt und hinzugefügt wird? Ich denke dabei z.B. auch an die Möglichkeiten, die Bookmarklets bieten.

Hinweise für die Erstellung von OpenSearch plugins für Firefox liefert z.B. diese Seite:
https://developer.mozilla.org/en-US/Add-ons/Creating_OpenSearch_plugins_for_Firefox


2. Was ist z.B. an der Forensoftware WoltLab Burning Board anders, dass in Foren, die mit dieser Software laufen, das beschriebene Problem mit den Search-Plugins nie auftritt? (Vermutlich verwendet WBB keinen solchen Sicherheitsparameter)
 
Obwohl nicht erledigt, kann dieses Thema geschlossen werden. Ich glaube nicht mehr, dass für dieses Problem noch jemand eine Lösung postet.
 
Wie sähe denn der Code aus wenn du ihn in einem Burning Board (welche Version 3 oder 4) erstellst?
 
Herzlichen Dank für Eure Hilfe! Das von Haddawas verlinkte Template im Format OpenSearch hat mir tatsächlich geholfen!!
OpenSearch kannte ich vorher überhaupt nicht, und es hat ein Weilchen gedauert, bis ich mich da reingelesen hatte und wusste, welchen Teil des Templates ich anpassen muss, damit ich es als Search-Plugin für das Forum verwenden kann, in dem xfTokens verwendet werden.

Zum Verständnis für andere, die vielleicht das gleiche Problem haben:
Search-Plugins, die im "konventionellen" Firefox-Format erstellt wurden (siehe oben), arbeiten mit der "post"-Methode. Hier kommt als Parameter auch das xfToken vor (und bereitet die Probleme).
Das verlinkte Template im OpenSearch-Format arbeitet mit der "get"-Methode. Im Code des Search-Plugins kommt das xfToken als Parameter nicht vor. Warum das so ist und das Search-Plugin trotzdem funktioniert, verstehe ich immer noch nicht. Aber ist egal..... Hauptsache das Plugin funktioniert! :)
 
Zurück
Oben