Guestbook

Alles über die Anwendung und Entwicklung von AddOns.

Re: Keine Antwortenfunktion im Gästebuch

Beitragvon Koala » 21. Aug 2009, 21:39

Triplefish hat geschrieben:"Fatal error: Cannot redeclare smarty_core_assemble_plugin_filepath() (previously declared in /meine website/htdocs/redaxo/include/addons/addon_framework/classes/form/validate/internals/core.assemble_plugin_filepath.php:15)"

Wie die fehlermeldung schon sagt, beißen sich da die Installationen des Addonframework und die vn Rex-Smarty. Dazu gab es hier schon mal eine Lösung, wenn ich nicht irre.
Suche im Forum mal nach Smarty. Mehr kann ich dazu auch nicht sagen.
.
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX_DOKU :: REX_WIKI :: REX_FAQ :: REX_WIKIPEDIA
Benutzeravatar
Koala
 
Beiträge: 1528
Registriert: 3. Okt 2005, 12:20
Wohnort: Cottbus

Beitragvon Triplefish » 21. Aug 2009, 22:13

Danke für den flotten Hinweis, Koala. Ich mache mich auf die Suche.
Triplefish
 
Beiträge: 3
Registriert: 21. Aug 2009, 20:36
Wohnort: Aachen

Beitragvon Gort » 13. Sep 2009, 13:28

Vielleicht (hoffentlich) ist anderen Benutzern dieser massive Bug auch schon aufgefallen:

Bei Eingabe von Beitraegen wird HTML-Code geparsed und nicht interpretiert. Gut so. Aber wenn ein Beitrag per Backend kommentiert wird, wird auch der bereits enthaltende Kommentar neu geschrieben. Dieses mal ungefiltert!!!! Alle Kommandos (inkl. Javascript) werden ausgegeben. Wer als Admin nicht genau hinschaut schaltet sich die Hackerattacken somit selber frei!!!

Mache mich jetzt auf die Suche, aber für den Fall dass mir jemand auf die Sprünge helfen kann wo und wie ich das verhindern kann...

Denke übrigens, dass hier sind wohl noch ein paar Sicherheitslücken mehr drinne stecken (nur beim überfliegen). Gibt es noch Workarounds, die ich übersehen habe im Forum?
Gort
 
Beiträge: 60
Registriert: 3. Aug 2006, 12:55

Beitragvon Gort » 13. Sep 2009, 14:52

Okay.... auf die schnelle:

in modules/module.form.inc.php finden die Überprüfungen statt. Dabei werden die Eingaben per htmlentities entschärft. Aus irgendeinem Grund (vielleicht ist das hier bei mir auch aus irgendwelchen Gründen ein Sonderfall???) werden die Eingaben bei Editierung im Backend wieder zurück in HTML-Tags verwandelt.
Ist mir zu heikel. Ich habe mal in oben erwähntem Modul die Anweisung (ungf. bei Zeile 127)

$var = '"'.htmlspecialchars($var).'"';

durch das etwas rabiatere
$var = '"'.strip_tags($var).'"';

ersetzt. Hierbei werden alle HTML-Tags aus den Eingaben entfernt.

Ist auch nicht der Weisheit letzter Schluss, aber besser als vorher... denke ich;-)
Gort
 
Beiträge: 60
Registriert: 3. Aug 2006, 12:55

Beitragvon Koala » 13. Sep 2009, 18:05

Gort hat geschrieben:Aus irgendeinem Grund (vielleicht ist das hier bei mir auch aus irgendwelchen Gründen ein Sonderfall???) werden die Eingaben bei Editierung im Backend wieder zurück in HTML-Tags verwandelt.

Danke für den Hinweis.
Das liegt am Addon Framework. Ist mir bisher noch gar nicht aufgefallen.
Sowas blödes aber auch :x
Muss mal schaun, wo ich das ändern kann. Konkret liegt es an der Datei pages/entries.inc.php
.
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX_DOKU :: REX_WIKI :: REX_FAQ :: REX_WIKIPEDIA
Benutzeravatar
Koala
 
Beiträge: 1528
Registriert: 3. Okt 2005, 12:20
Wohnort: Cottbus

Beitragvon Gort » 13. Sep 2009, 19:24

Yep... kann ich bestätigen, dass es am Framework liegt. Wollte zuerst auch dort ansetzen... aber erst mal die passende Stelle finden.
Deshalb ist die vorgeschlage "Zwischenlösung" wohl besser, da so erst gar kein Code in die Datenbank gelangt, der vom Framework dann ggf. wieder ausführbar gemacht wird.
Gort
 
Beiträge: 60
Registriert: 3. Aug 2006, 12:55

Beitragvon openmind » 15. Dez 2009, 10:47

Erst mal danke für diesen wichtigen Sicherheits-Hint !

Ich hab gerade festgestellt, dass mit der strip_tags() - Lösung noch ein Loch existiert, nämlich die Benachrichtigungs E-mail.

Wenn jemand ein JS-Code eingibt bekommt Ihr den nach Hause geschickt, weil die E-mail versendet wird, bevor der code gestrippt ist.

Wenn der Provider die mails nicht stripped ist der Code im Mail-Programm ausführbar.

Daher folgender Vorschlag:
Im Guestbook-file module.form.inc.php ca. ab Zeile 224 die Zeilen ...
Code: Alles auswählen
      $mail_author = htmlspecialchars(rex_post('name', 'string'));
      $mail_message = htmlspecialchars(rex_post('text', 'string'));
      $mail_url = htmlspecialchars(rex_post('url', 'string'));
      $mail_email = htmlspecialchars(rex_post('email', 'string'));
      $mail_city = htmlspecialchars(rex_post('city', 'string'));


ebenfalls strippen. Also so ...
Code: Alles auswählen
     $mail_author    = strip_tags(rex_post('name', 'string'));
      $mail_message = strip_tags(rex_post('text', 'string'));
      $mail_url    = strip_tags(rex_post('url', 'string'));
      $mail_email    = strip_tags(rex_post('email', 'string'));
      $mail_city    = strip_tags(rex_post('city', 'string'));


Dann ist schadhafter Code auch nicht in der E-mail drin.

Lg.
Benutzeravatar
openmind
 
Beiträge: 134
Registriert: 11. Dez 2006, 11:45

Re: Guestbook

Beitragvon wolfgang » 22. Apr 2011, 08:51

Hallo,
auch wenn es schon ein paar Tage her ist, vielen Dank für die Fixes. Hier noch einer:
Addon-Framework, pages/index.inc.php, ebenfalls nach dem require (etwa Zeile 25):

Code: Alles auswählen
$view = rex_request('view', 'string'); // Anpassung an REX 4.2


Man kann dann wieder im Addon Framework auf Sourcecode anzeigen klicken und der Sourcecode wird angezeigt.

Bin grade auch am Gästebuch debuggen (Rex 4.3.1), Antwortfunktion geht nicht und neue Beiträge erscheinen nicht und so.

Dann noch guestbook/pages/index.inc.php etwa Zeile 18 noch hinzufügen:

Code: Alles auswählen
$entry_id = rex_request('entry_id', 'string');


Damit wird beim Aufruf eines Gästebucheintrages im Backend auch der entsprechende Eintrag aufgerufen, sonst war der value

<input id="hidden_entry_id" type="hidden" value="114" name="entry_id">

immer leer und es wurden zwei (?) neue Datensätze angelegt.

Achja, die Fehler sind nach dem Umzug auf einen neuen Server aufgetreten (beide PHP 5.3.3 und MySQL 5.1.46).

Gruß Wolfgang
wolfgang
 
Beiträge: 65
Registriert: 20. Okt 2005, 19:52

Guestbook mit 4.3.2

Beitragvon Tizian » 6. Dez 2011, 20:44

danke,

nachdem ich alle modifikationen aus diesem posting eingesetzt habe, funktioniert auch wieder mein backend des guestbooks in redaxo 4.3.2 – zumindest kann ich über bearbeiten den online-status wieder einstellen. das war vorher nicht möglich. was mir zu meinem glück noch fehlt: die selbe funktion beim klick auf online/offline in der eintragsliste. der link mit der funktion
Code: Alles auswählen
http://domain.tld/redaxo/index.php?page=guestbook&func=status&mode=offline_it&entry_id=80
tut es nicht.

jemand eine idee?
schöne grüße
tizian
********************************
ansichtsache TM
Tizian
 
Beiträge: 113
Registriert: 4. Apr 2008, 10:58
Wohnort: Bremen

Vorherige

Zurück zu AddOns [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron