Rufen Sie uns an: +49 341 242 502 10

Ich war hier: WikkaWikiSafeHTML

Version [3831]

Dies ist eine alte Version von WikkaWikiSafeHTML erstellt von WojciechLisiewicz am 2022-06-18 20:41:34.

 

WikkaWiki => SafeHTML

Umstellung von alter PHP-Version

Meldung:
Fatal error: Uncaught Error: Attempt to modify property "handler_default" on null in /usr/local/www/wdb/3rdparty/core/safehtml/classes/HTMLSax.php:556... und noch viel länger (statt 556 auch 494)

Lösung: nicht so einfach...

Bei WackoWiki wird SafeHTML entwickelt (denke ich mal). Möglicherweise ist der beste Weg für WikkaWiki, die neueste Version von dort in 1.4.2 zu integrieren...

A. Einbindung neuer Version:
Einzelne Schritte:

1. Neue Version bei Wacko-Wiki geholt
2. Unter 3rdparty/core/safehtml/ gespeichert
3. Änderungen bei Einbindung:

in libs / wakka.class.php:
=> function ReturnSafeHTML($html) ab ca. Zeile 712

in wikka.config.php:
=> 'safehtml_path' => '3rdparty/safehtml', (ca. Zeile 35)
(Pfad auf neue Version geändert)

in 3rdparty / safehtml / safehtml.php
=> alle includes wurden direkt eingespeichert (HTMLSax3, Decorate, States)


B. Wie wird SafeHTML in WikkaWiki eingebunden

Folgende Dateien sind betroffen / hier taucht ein Verweis darauf auf:

Variablen:
  • wikka.php
  • wikka.config.php

Funktionen werden aufgerufen:
  • formatters / wakka.php (2x)
  • formatters / html.php (2x)
  • libs / Wakka.class.php (viele)
  • actions / rss / rss.php
  • actions / image / image.php
  • actions / files / files.php
  • actions / googleform / googleform.php
  • actions / textsearchexpanded / textsearchexpanded.php

Sonstige:


Ergebnis von grep -r -i "safehtml" wdb:
wdb/wikka.php: 'safehtml_path' => '3rdparty/core/safehtml',
wdb/wikka.config.php: 'safehtml_path' => '3rdparty/core/safehtml',
wdb/setup/inc/db_update_mysql.php: rmdirr("safehtml");
wdb/formatters/wakka.php: SafeHTML will treat this but 'raw' may end up with invalid code!
wdb/formatters/wakka.php: return $wakka->ReturnSafeHTML($newembedded);
wdb/formatters/html.php:
SafeHTML will treat this but 'raw' may end up with invalid code!
wdb/formatters/html.php: return $wakka->ReturnSafeHTML($newembedded);
wdb/libs/Wakka.class.php: * @uses Config::$safehtml_path
wdb/libs/Wakka.class.php: * @uses SafeHTML::parse()
wdb/libs/Wakka.class.php: function ReturnSafeHTML($html)
wdb/libs/Wakka.class.php: $safehtml_classpath = $this->GetConfigValue('safehtml_path').'/classes/safehtml.php';
wdb/libs/Wakka.class.php: require_once $safehtml_classpath;
wdb/libs/Wakka.class.php: $safehtml = instantiate('safehtml');
wdb/libs/Wakka.class.php: $filtered_output = $safehtml->parse($html);
wdb/libs/Wakka.class.php.save: * @uses Config::$safehtml_path
wdb/libs/Wakka.class.php.save: * @uses SafeHTML::parse()
wdb/libs/Wakka.class.php.save: function ReturnSafeHTML($html)
wdb/libs/Wakka.class.php.save: #print $safehtml_classpath;
wdb/libs/Wakka.class.php.save: #$safehtml = instantiate('safehtml');
wdb/libs/Wakka.class.php.save: #$filtered_output = $safehtml->parse($html);
wdb/libs/Wakka.class.php.save: $safehtml_classpath = $this->GetConfigValue('safehtml_path').DIRECTORY_SEPARATOR.'classes'.DIRECTORY_SEPARATOR.'safehtml.php';
wdb/libs/Wakka.class.php.save: require_once $safehtml_classpath;
wdb/libs/Wakka.class.php.save: $safehtml = instantiate('safehtml');
wdb/libs/Wakka.class.php.save: $filtered_output = $safehtml->parse($html);
wdb/lang/pl/defaults/FormattingRules.txt:Domyślnie niektóre polecenia HTML są usuwane, celem zabezpieczenia przed potencjalnie niebezpiecznym kodem. Więcej informacji na ten temat: Wikka:SafeHTML.
wdb/lang/en/defaults/FormattingRules.php:printf(T_('By default, some HTML tags are removed by the %s parser to protect against potentially dangerous code. The list of tags that are stripped can be found on the %s page.'), 'SafeHTML', 'Wikka:SafeHTML');
wdb/actions/rss/rss.php: * @uses Wakka::ReturnSafeHTML()
wdb/actions/rss/rss.php: echo $this->ReturnSafeHTML($cached_output);
wdb/actions/image/image.php:wdb/actions/table/table.php: * @uses Wakka::ReturnSafeHTML()
wdb/actions/table/table.php: echo $this->ReturnSafeHTML($cached_output);
wdb/actions/googleform/googleform.php: Sanitization: Passing $query to htmlspecialchars_ent instead of ReturnSafeHTML(). Inside the value parameter of the input field,
wdb/actions/files/files.php: * @uses Wakka::ReturnSafeHTML()
wdb/actions/files/files.php:
Although $output is passed to ReturnSafeHTML, it's better to sanitize $text here. At least it can avoid invalid XHTML.
wdb/actions/files/files.php: $output = $this->ReturnSafeHTML($output);
wdb/actions/files/files.php: $output = $this->ReturnSafeHTML($output);
wdb/actions/textsearchexpanded/textsearchexpanded.php: * @uses Wakka::ReturnSafeHtml()
wdb/actions/textsearchexpanded/textsearchexpanded.php:$result_page_list = $this->ReturnSafeHtml($result_page_list);
wdb/3rdparty/core/safehtml/classes/HTMLSax_old.php: If you'll use unmodified HTMLSax, Safehtml will be NOT SAFE!
wdb/3rdparty/core/safehtml/classes/safehtml.php: SafeHTML Parser.
wdb/3rdparty/core/safehtml/classes/safehtml.php: http://pixel-apes.com/safehtml
wdb/3rdparty/core/safehtml/classes/safehtml.php:class safehtml {
wdb/3rdparty/core/safehtml/classes/safehtml.php: function safehtml() {
wdb/3rdparty/core/safehtml/classes/HTMLSax.php: If you'll use unmodified HTMLSax, Safehtml will be NOT SAFE!
wdb/3rdparty/core/safehtml/readme.txt:SafeHTML
wdb/3rdparty/core/safehtml/readme.txt:http://pixel-apes.com/safehtml
wdb/3rdparty/core/safehtml/readme.txt:Please, subscribe to http://pixel-apes.com/safehtml/feed/rss feed in order to receive notices
wdb/3rdparty/core/safehtml/readme.txt:when SAFEHTML will be updated.
wdb/3rdparty/core/safehtml/readme.txt: * New array, closeParagraph, contains list of block-level elements. When we open such elemet, we should close paragraph before. . It allows SafeHTML to produce more XHTML compliant code.
wdb/3rdparty/core/safehtml/readme.txt: * Now SafeHTML strips down table elements when we are not inside table.
wdb/3rdparty/core/safehtml/readme.txt: * Now SafeHTML correctly closes unclosed "li" tags: before opening "li" of the same nesting level.
wdb/3rdparty/core/safehtml/readme.txt: Bug fix: safehtml hangs on <style></style></style> code.
Binary file wdb/sql/wikka_sqlite3.db matches


C. Aktuelle Version von SafeHTML nutzen
Nach Erläuterung bei Wacko-Wiki wird es so eingebunden:
<b>Example:</b>
$parser = new SafeHTML;
$result = $parser->parse($doc);

Benötigt wird aber auch HTMLSax3 - mit folgenden Dateien:
_HTMLSax3
|_HTMLSax3.php
|_HTMLSax3
|_Decorators.php
|_States.php

Auf dieser Seite sind keine Kommentare vorhanden