anpera.net
http://anpera.homeip.net/phpbb3/

HTML in der Bio
http://anpera.homeip.net/phpbb3/viewtopic.php?f=25&t=4444
Seite 3 von 4

Autor:  Linus [ Mo 14 Mär, 2011 19:20 ]
Betreff des Beitrags:  Re: HTML in der Bio

Auf den ersten Blick kann ich an removeEvilTags() keinen Grund erkennen, weshalb das Anzeigen des Hintergrunds via CSS verhindert wird. Interessant wäre mal zu wissen wie du den Hintergrund in der Bio definierst. ;)

Autor:  Freya [ Mo 14 Mär, 2011 19:30 ]
Betreff des Beitrags:  Re: HTML in der Bio

Hi,
also ich hab das so in der meiner chara-bio eingegeben...

$this->bbcode_second_pass_code('', '<style type="text/css">
table, tr, td { background-color:transparent; border:none; border-width:0;}
.comment { Background info }
body
{
background-color: #000000;
}

.comment { Table info }
table table { border: 0px }
table table table table{border:0px}
table table table
{
border-style: solid;
}
</style>text...')

Autor:  Linus [ Mo 14 Mär, 2011 20:07 ]
Betreff des Beitrags:  Re: HTML in der Bio

Also, wenns nur um die Hintergrundfarbe geht. Diese hier funktioniert bei mir Prima:
$this->bbcode_second_pass_code('', '<style type="text/css">table, tr, td { background-color:black; border:none; border-width:0;}</style>')

Autor:  Freya [ Mo 14 Mär, 2011 20:29 ]
Betreff des Beitrags:  Re: HTML in der Bio

Hallo Linus,
habe das nun probiert....
und *freu* das geht!

Herzlichen Dank!!!

Autor:  Linus [ Mo 14 Mär, 2011 20:48 ]
Betreff des Beitrags:  Re: HTML in der Bio

Fein! Freut mich wenn ich helfen konnte! :)

Autor:  Deus X Machina [ Sa 09 Apr, 2011 17:05 ]
Betreff des Beitrags:  Re: HTML in der Bio

Ich versuch momentan bei uns die Bioraphie zu erweitern. Da ich ziemlich vorsichtig (paranoid) bin will ich natürlich alles mögliche berücksichtigen mit dem der Server beeinträchtig werden könnte. Leider verlier ich inzwischen den Überblick (nachdem ich 59 Seiten Suchergebnisse über die Bio durchgeforstet habe), was ich wofür brauchen kann, was wichtig ist und so weiter. Hauptsächliches Problem ist der Überblick über die Trennung zwischen bösen HTML Tags und SQL Injections
Vielleicht kann mir ja hier jemand bei meinen Fragen weiterhelfen:

1) Die "function removeEvilTags" welche hier öfter verwendet wird (und sehr praktisch aussieht) filtert HTML Tags. Verhindert sie auch SQL Injections? und wenn nein wie verhindert man diese in der Bio (solange die direkt über saveuser gespeichert wird - oder macht die Funktion das schon?)
2) Die Originale Bio Funktion lässt ja offenbar HTML Tags speichern, sie zeigt sie nur nicht an - es reicht also diese Tags bei der Anzeige zu filtern, oder sollte man das schon beim speichern machen?
3) Welches Problem verursachen "böse" HTML Tags im Vergleich zu SQL Injections?

Auf unserem Server ist momentan noch die Originale Datei erhalten, da ich meine ersten Versuche noch nicht hochgeladen habe. (sicherheitshalber)
Ich glaube das sind soweit die Fragen die mich daran hindern im Blindflug etwas einzubauen, da ich leider nicht sicher genug bin um zu erkennen wann etwas gefährlich ist und wann nicht.

Autor:  Harthas [ Sa 09 Apr, 2011 21:13 ]
Betreff des Beitrags:  Re: HTML in der Bio

1. SQL Injections werden dadurch grundsätzlich nicht verhindert. Ein ganz normales "addslashes" oder ein "mysqli_real_escape_string" bringen da allerdings schon ganz viel.
Wichtig ist es vor Allem, die Bentutzereingaben zu validieren, und ihnen standartmässig zu misstrauen. Wenn ein Integer als Antwort erwartet wird, auch nur Integer zulassen, bei Strings oder anderen Datentypen dasselbe. Zu SQL Injections finden sich auf google relativ viele Artikel ;)

2. Unbedingt bereits beim Speichern heraus filtern. Nur um sicher zu gehen, dass dir nichts durch die Finger geht.

3. Das mit den "bösen Tags" betrifft eher XSS - Cross-Site Scripting, also das Einschleusen von bösartigem Code (http://de.wikipedia.org/wiki/Cross-Site_Scripting).

Also:

SQL Injection ist die Manipulation der Datenbank durch nicht escapte Benutzereingaben in einem Datenbankquery.
Cross Site Scripting greift nicht die Datenbank, sondern diejenigen User an, welche die Biographie desjenigen anschauen.

Autor:  Deus X Machina [ Mo 11 Apr, 2011 13:01 ]
Betreff des Beitrags:  Re: HTML in der Bio

Vielen Dank für die klare Antwort, den Unterschied hab ich jetzt sehr gut verstanden und eigentlich auch die Implementierung. "Eigentlich" deswegen, weil es nicht richtig funktioniert, und zwar kriege ich in einem, mit db_real_escape_string (von Anpera aus der Funktionssammlung), gespeicherten Text im Text einige \r\n Zeichen wo ich Neue Zeilen verursacht habe. Wenn ich das richtig verstanden habe was ich gesucht habe, dann liegt das an dieser "magic_quotes_gpc" Einstellung, und es gibt nichts was ich dagegen tun kann ausser es nicht zu benutzen sondern das anders zu lösen? (Zum Speichern wird bei mir der Text als $_POST Variable übergeben, passiert das hier?)
An die Funktion mit "magic_quotes_gpc" trau ich mich nicht heran, weil sie, glaube ich, eigentlich alle Eingaben in LogD absichert, stimmt das soweit? Leider dürfte sie ja bald verschwinden, also hätte ich lieber eine völlig sichere und aktuelle Methode verwendet, aber ich wüsste nicht wie ich dann die \r\n wieder wegbekomme, hab schon ein wenig rumprobiert, z.B. mit preg_replace - aber offenbar falsch, dann was auch immer ich damit anstelle die \r\n bleiben im Text der Ausgabe - und vervielfältigen sich natürlich bei Mehrfachem speichern.

Autor:  Eliwood [ Mo 11 Apr, 2011 14:37 ]
Betreff des Beitrags:  Re: HTML in der Bio

Wie wärs mit einem einfachen str_replace?
$this->bbcode_second_pass_code('', '$search = array("\r\n", "\n", "\r");
$str = str_replace($search, '', $str);')

Edit: Oder willst du nicht die Steuerzeichen \r und/oder \n herausfiltern sondern den String? Dann müssen die Zeichen gewechselt werden (' ignoriert im Gegensatz zu " die Steuerzeichen):

$this->bbcode_second_pass_code('', '$search = array('\r\n', '\n', '\r');
$str = str_replace($search, '', $str);')

Autor:  Deus X Machina [ Mo 11 Apr, 2011 21:01 ]
Betreff des Beitrags:  Re: HTML in der Bio

Eliwood hat geschrieben:
Edit: Oder willst du nicht die Steuerzeichen \r und/oder \n herausfiltern sondern den String? Dann müssen die Zeichen gewechselt werden (' ignoriert im Gegensatz zu " die Steuerzeichen):

$this->bbcode_second_pass_code('', '$search = array('\r\n', '\n', '\r');
$str = str_replace($search, '', $str);')

Danke, das zweite war genau das was ich gebraucht habe :-)

Autor:  Linus [ Sa 05 Nov, 2011 12:38 ]
Betreff des Beitrags:  Re: HTML in der Bio

Ich krame diesen Thread dann auch wieder mal aus, da ich seit dem Umstieg von PHP5.2.6 auf PHP5.3.2 Ein Problem mit dem allseits bekannten Code der Funktionen removeEvilTags() und removeEvilAttributes() habe, für das ich selbst bislang keine Lösung gefunden habe.
$this->bbcode_second_pass_code('', 'function removeEvilTags($source,$iframe_allowed){
global $allowedTags;
if($iframe_allowed == 1) $allowedTags.= "<iframe>";
$source = strip_tags($source, $allowedTags);
// bis hier ist noch alles okay :)
return preg_replace('/<(.*?)>/ie', "'<'.removeEvilAttributes('\\1').'>'", $source, $allowedTags);
}

function removeEvilAttributes($tagSource){
global $stripAttrib;
return stripslashes(preg_replace("/$stripAttrib/i", 'forbidden', $tagSource));
}')

Nach dem Aufruf von return preg_replace('/<(.*?)>/ie', "'<'.removeEvilAttributes('\\1').'>'", $source, $allowedTags); wird ein leerer String zurück gegeben, oder anders gesagt: Die Bio wird nicht angezeigt.

Bei der Kreation von regulären Ausdrücken tue ich mich immer noch recht schwer, kann hier aber keinen Fehler entdecken. Wie auch, denn bis PHP5.2.6 gab es nie Probleme mit diesem Codeschnipsel. Mein Verdacht liegt daher eher auf der Rückreferenzierung '\\1'.
Doch nach nun mehr 3 Tagen erfolglosen Suchen und Versuchen hier mein Hilferuf! Ich hoffe jemand von euch kennt den Grund für das plöztliche Versagen dieser Funktion, oder kann sich einen Reim darauf machen!

Edit: Zu erwähnen wäre vielleicht noch, dass ich mit dem Umstieg auf PHP5.3.2 auch magic_quotes_gpc und magic_quotes_runtime auf Off gesetzt habe, und das Aktivieren dieser Einstellungen über ini_set() in der dbwrapper.php ebenfalls unterbunden habe.
Aber auch ein kurzzeitiges Reaktivieren der magic_quotes-Einstellungen brachte keine Änderungen. Hätte mich auch gewundert, aber irgend wann fängt man an auch das Unwahrscheinliche ins Auge zu nehmen, wenn man anders nicht weiter kommt. :???:

Autor:  Eliwood [ Sa 05 Nov, 2011 15:16 ]
Betreff des Beitrags:  Re: HTML in der Bio

Das hätte auch vorher nicht funktionieren dürfen: preg_replace()'s viertes Argument ist $limit, also eine Zahl, wieviele Ersetzungen vorgenommen werden, nicht ein Array.

Richtiger heissen müsste die Funktion:
$this->bbcode_second_pass_code('', 'function removeEvilTags($source, $iframe_allowed = false){
global $allowedTags;

if($iframe_allowed == true) {
$allowedTags.= "<iframe>";
}

$stripped = strip_tags($source, $allowedTags);
$stripped = preg_replace('/<(.*?)>/ie', "'<'.removeEvilAttributes('\\1').'>'", $stripped);

return $stripped;
}')

Autor:  Linus [ Sa 05 Nov, 2011 17:02 ]
Betreff des Beitrags:  Re: HTML in der Bio

Danke Eli! Jetzt geht es wieder! :)

Auf die Idee mir die Aufrufparameter von preg_replace() an zu schauen, bzw. dass dort schon immer ein Bug drin war der früher toleriert wurde, bin ich nicht gekommen. Also mal wieder den Wald vor lauter Bäumen nicht gesehen.

Autor:  Chris [ Fr 28 Sep, 2012 14:03 ]
Betreff des Beitrags:  Re: HTML in der Bio

Hey,

ich würde gerne CSS in meiner Bio erlauben:

u.a. die Funktionen:

font-family, font-size, color, text-decoration, text-align. Seitenränder: margin, Bilder: background, background-image, (background-repeat). Ränder: border, border-style, border-color, padding. Und natürlich width und height. Und dann wäre da noch position:absolute und overflow(:scroll)

Hat jemand eine Idee wie ich das in die bio.php einbauen könnte? :/

Hab die DS V3.

Danke für eure Hilfe. ._. <3

Autor:  Salator [ Sa 29 Sep, 2012 01:18 ]
Betreff des Beitrags:  Re: HTML in der Bio

@chris: output.lib, function clean_html()
Hier werden alle Tags und Attribute gelistet, die rausgeworfen werden sollen, in deinen Fall wäre das style-Attribut interessant.

Ich muss an dieser Stelle aber auch darauf hinweisen, dass eine Änderung unvorhersehbare Folgen haben kann, was die Sicherheit angeht.
Andererseits, html5 ist im [zensiert], da kommen bestimmt noch viel lustigere Sachen auf uns zu...

.oO(hier wird A N M A R S C H zensiert?)

Autor:  Chris [ So 30 Sep, 2012 19:05 ]
Betreff des Beitrags:  Re: HTML in der Bio

@Peter, Danke erstmal!

Also füge ich bei den:

if($bool_strip_tags) $str_html = strip_selected_tags($str_html,array('img','script','noscript','object','embed','style','frame','iframe','a','applet','noframes','button','input','form','select','input','head','body','html','pre','code'));

meine Funktionen einfach ein?

Welche Sicherheit könnte denn betroffen werden? Wäre der Server leichter hackbar?

Danke und Gruß
Chris

Autor:  Bathory [ So 30 Sep, 2012 23:21 ]
Betreff des Beitrags:  Re: HTML in der Bio

Chris hat geschrieben:

if($bool_strip_tags) $str_html = strip_selected_tags($str_html,array('img','script','noscript','object','embed','style','frame','iframe','a','applet','noframes','button','input','form','select','input','head','body','html','pre','code'));

meine Funktionen einfach ein?


Nein, da kommen die Tags raus, welche gestript werden sollen. :)

Chris hat geschrieben:
Welche Sicherheit könnte denn betroffen werden? Wäre der Server leichter hackbar?


Da du ne DS Version nutzt, ist dein Server eh schon schweizer Hack-Käse ;)

viewtopic.php?f=34&t=5420

Autor:  TheDarkWiesel [ Fr 14 Dez, 2012 19:30 ]
Betreff des Beitrags:  Re: HTML in der Bio

Heyho ihr Lieben (:

Achtung, ziemlich dämliche Frage;
Ich bin seit 'ner halben Ewigkeit hier im Forum am suchen XD Und ich finde einfach diesen Hack nicht, über den hier gesprochen wird.
Vielleicht bin ich einfach blind, aber ich weiss grad echt nicht, wonach ich suchen müsst, bzw wo ich was eintragen muss, damit dieses blöde html erlaubt wird. Vielleicht kann mir ja einer kurz den Hack verlinken, um den es geht? Ich wäre echt dankbar.
lG
ein kleiner, verzweifelter Newbie (:

Autor:  Bathory [ Sa 15 Dez, 2012 15:17 ]
Betreff des Beitrags:  Re: HTML in der Bio

So lange kannst du gar nicht gesucht haben. sonst wüsstest du, dass du ohne Link zu deiner Source keine Hilfe erwarten darfst.
(Hier kann ja niemand hellsehen). :?:

Autor:  TheDarkWiesel [ So 16 Dez, 2012 12:35 ]
Betreff des Beitrags:  Re: HTML in der Bio

Weil der Server momentan nur lokal läuft und ich somit gar nicht dazu verlinken kann ôö
Zumindest soweit mir bekannt ist.

Seite 3 von 4 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/