anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 20:17

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 61 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Mo 14 Mär, 2011 19:20 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
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. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Mo 14 Mär, 2011 19:30 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: So 18 Mär, 2007 20:24
Beiträge: 81
Wohnort: Baden-Württemberg
LoGD: localhost
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...')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Mo 14 Mär, 2011 20:07 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
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>')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Mo 14 Mär, 2011 20:29 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: So 18 Mär, 2007 20:24
Beiträge: 81
Wohnort: Baden-Württemberg
LoGD: localhost
Hallo Linus,
habe das nun probiert....
und *freu* das geht!

Herzlichen Dank!!!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Mo 14 Mär, 2011 20:48 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
Fein! Freut mich wenn ich helfen konnte! :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Sa 09 Apr, 2011 17:05 
Offline
Eingeweihter
Eingeweihter

Registriert: Mo 31 Aug, 2009 09:26
Beiträge: 67
Geschlecht: Männlich
LoGD: http://nydoria.at
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Sa 09 Apr, 2011 21:13 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Mo 11 Apr, 2011 13:01 
Offline
Eingeweihter
Eingeweihter

Registriert: Mo 31 Aug, 2009 09:26
Beiträge: 67
Geschlecht: Männlich
LoGD: http://nydoria.at
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Mo 11 Apr, 2011 14:37 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
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);')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Mo 11 Apr, 2011 21:01 
Offline
Eingeweihter
Eingeweihter

Registriert: Mo 31 Aug, 2009 09:26
Beiträge: 67
Geschlecht: Männlich
LoGD: http://nydoria.at
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 :-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Sa 05 Nov, 2011 12:38 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
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. :???:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Sa 05 Nov, 2011 15:16 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
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;
}')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Sa 05 Nov, 2011 17:02 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Fr 28 Sep, 2012 14:03 
Offline
Lehrling
Lehrling

Registriert: Di 02 Feb, 2010 23:08
Beiträge: 38
Wohnort: Heidelberg
Geschlecht: Männlich
LoGD: http://www.coldmirror-rpg.de/source.php
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Sa 29 Sep, 2012 01:18 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 02 Feb, 2009 21:11
Beiträge: 168
Geschlecht: Männlich
LoGD: salator.selfhost.de/lotgd
@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?)

_________________
if(date("ymmd")=="10050502") echo("Der alte Sack wird heute 40");


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: So 30 Sep, 2012 19:05 
Offline
Lehrling
Lehrling

Registriert: Di 02 Feb, 2010 23:08
Beiträge: 38
Wohnort: Heidelberg
Geschlecht: Männlich
LoGD: http://www.coldmirror-rpg.de/source.php
@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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: So 30 Sep, 2012 23:21 
Offline
Profi
Profi

Registriert: Mo 20 Apr, 2009 00:30
Beiträge: 125
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Fr 14 Dez, 2012 19:30 
Offline
Newbie

Registriert: Mo 10 Dez, 2012 20:33
Beiträge: 2
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 (:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: Sa 15 Dez, 2012 15:17 
Offline
Profi
Profi

Registriert: Mo 20 Apr, 2009 00:30
Beiträge: 125
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). :?:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: HTML in der Bio
BeitragVerfasst: So 16 Dez, 2012 12:35 
Offline
Newbie

Registriert: Mo 10 Dez, 2012 20:33
Beiträge: 2
Weil der Server momentan nur lokal läuft und ich somit gar nicht dazu verlinken kann ôö
Zumindest soweit mir bekannt ist.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 61 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

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


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum