anpera.net
https://anpera.homeip.net/phpbb3/

Bilder in der Bio
https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=2429
Seite 1 von 3

Autor:  Drazaar [ Do 06 Apr, 2006 21:05 ]
Betreff des Beitrags:  Bilder in der Bio

Irgendwie habe ich heute zwar mit Rikkardas Hilfe es geschafft meinem Server html fähige Bios zu verpassen, doch werden partout keine Bilder angezeigt, wenn man mit dem
<img scr="url"> Befehl welche einfügen will -.-

Es steht dann entweder so ein komisches buntes Symbol da oder ein weißes Quadrat mit einem roten X.

Woran liegts, wie bekomm ichs weg?^^

Autor:  Rikkarda [ Do 06 Apr, 2006 22:29 ]
Betreff des Beitrags: 

hm.. ich weiss nicht genau ob es daran liegt, aber versuch mal so..

suche:
$this->bbcode_second_pass_code('', 'function removeEvilAttributes($source)
{
$allowedTags='<a><br><b><h1><h2><h3><h4><i>' .
'<img><li><ol><p><strong><table>' .
'<tr><td><th><u><ul>';
$source = strip_tags($source, $allowedTags);
return preg_replace('/<(.*?)>/ie', "'<'.removeEvilAttributes('\\1').'>'", $source);
}')


ersetze mit
$this->bbcode_second_pass_code('', '
function removeEvilAttributes($source)
{
$allowedTags='<br><b><h1><h2><h3><h4><i><hr>' .
'<img><li><ol><p><strong><table>' .
'<tr><td><th><u><ul><div><span><center><p><img>';


$source = strip_tags($source, $allowedTags);

;
return $source;
}


')

das ist die whitelist aus Silienta die frames und wrongs hab ich mal rausgenommen hier.


lg

Autor:  Drazaar [ Sa 08 Apr, 2006 12:23 ]
Betreff des Beitrags: 

Nein, hat nichts genutzt...-.-
irgendwie nimmt er die adresse von dem bild nicht an.
Wenn ich im Internet Explorer (mit Opera das Selbe) auf "Eigenschaften" des Bildes gehe, steht keine Adresse drin. O.o

Autor:  Eliwood [ Sa 08 Apr, 2006 12:29 ]
Betreff des Beitrags: 

Machts wieder so zurück, wie du es vor Rikkas Post hattest, ja?
Und dann poste mal Code :)

Autor:  Drazaar [ Sa 08 Apr, 2006 12:49 ]
Betreff des Beitrags: 

[php]
<?php

function removeEvilAttributes($source)
{
$allowedTags='<a><br><b><h1><h2><h3><h4><i>' .
'<img><li><ol><p><strong><table>' .
'<tr><td><th><u><ul>';
$source = strip_tags($source, $allowedTags);
return preg_replace('/<(.*?)>/ie', "'<'.removeEvilAttributes('\\1').'>'", $source);
}

// 22062004

require_once "common.php";
checkday();
$result = db_query("SELECT login,name,level,sex,title,gott,specialty,hashorse,tiername,acctid,age,marriedto,pvpflag,charisma,resurrections,bio,dragonkills,race,avatar,housekey,punch,reputation,birthday FROM accounts WHERE login='$_GET[char]'");
$row = db_fetch_assoc($result);
$row[login] = rawurlencode($row[login]);

page_header("Charakter Biographie: ".preg_replace("'[`].'","",$row[name]));
$specialty=array(0=>"nicht spezifiziert","Dunkle Künste","Mystische Kräfte","Diebeskunst");
$gott=array(
1=>"Tempus",
2=>"Mielliki",
3=>"Shar",
4=>"Deneir",
0=>"`)Keiner");
//$horses=array(0=>"None","Pony","Gelding","Stallion");
output(stripslashes("`^Biographie für $row[name]"));
if ($session[user][loggedin]) output(stripslashes("<a href=\"mail.php?op=write&to=$row[login]\" target=\"_blank\" onClick=\"".popup("mail.php?op=write&to=$row[login]").";return false;\"><img src='images/newscroll.GIF' width='16' height='16' alt='Mail schreiben' border='0'></a>"),true);
if (getsetting("avatare",0)==1){
if ($row[avatar]){
$pic_size = @getimagesize($row[avatar]);
$pic_width = $pic_size[0];
$pic_height = $pic_size[1];
output(stripslashes("<table><tr><td valign='top'>`n`n<img src=\"$row[avatar]\" "),true);
if ($pic_width > 400) output("width=\"400\" ",true );
if ($pic_height > 400) output("height=\"400\" ",true );
output(stripslashes("alt=\"".preg_replace("'[`].'","",$row[name])."\">&nbsp;</td><td valign='top'>"),true);
} else {
output(stripslashes("<table><tr><td>(kein Bild)&nbsp;&nbsp;&nbsp;</td><td>"),true);
}
}
output(stripslashes("`n`n`^Titel: `@$row[title]`n"));
output(stripslashes("`^Gottheit: `@".$gott[$row[gott]]."`n"));
if (getsetting("activategamedate","0")==1 && $row[birthday]!=")") output(stripslashes("`^Geburtstag: `@$row[birthday]`n"));
output(stripslashes("`^Level: `@$row[level]`n"));
output(stripslashes("`^Alter seit DK: `@$row[age]`^ Tage`n"));
output(stripslashes("`^Wiedererweckt: `@$row[resurrections]x`n"));
output(stripslashes("`^Rasse: `@{$races[$row['race']]}`n"));
output(stripslashes("`^Geschlecht: `@".($row[sex]?"Weiblich":"Männlich")."`n"));
output(stripslashes("`^Spezialgebiet: `@".$specialty[$row[specialty]]."`n"));

$sql = "SELECT mountname FROM mounts WHERE mountid='{$row['hashorse']}'";
$result = db_query($sql);
$mount = db_fetch_assoc($result);
if ($mount['mountname']=="")
$mount['mountname'] = "`iKeines`i";
if($row[tiername]==""){
output(stripslashes("`^Tier: `@{$mount['mountname']}`n"));
}else if($row[tiername]>""){
output(stripslashes("`^Tier: `@$row[tiername]`@ (`@{$mount['mountname']}`@)`n"));
}

if ($row['dragonkills']>0) output("`^Drachenkills: `@{$row['dragonkills']}`n");

output(stripslashes("`^Bester Angriff: `@$row[punch]`n"));
output(stripslashes("<table border='0' cellspacing='0' cellpadding='0'><tr><td>`^Ansehen:&nbsp;</td><td>".grafbar(100,($row['reputation']+50),100,12)."</td></tr></table>"),true);
if ($row[housekey]) output(stripslashes("`^Hausnummer: `@$row[housekey]`n"));
if ($row[marriedto]){
if ($row[marriedto]==4294967295){
output(stripslashes("`^Verheiratet mit: `@".($row[sex]?"Seth":"Violet")."`n"));
}elseif ($row[charisma]==4294967295){
$sql = "SELECT name FROM accounts WHERE acctid='{$row['marriedto']}'";
$result = db_query($sql);
$partner = db_fetch_assoc($result);
output(stripslashes("`^Verheiratet mit: `@{$partner['name']}`n"));
}
}
if ($row['pvpflag']=="5013-10-06 00:42:00") output(stripslashes("`4`iSteht unter `\$göttlichem Schutz`i"));
if (getsetting("avatare",0)==1)output ("</td></tr></table>",true);
if ($row['bio']>""){
output("`n`^Bio: `@`n".CloseTags(removeEvilAttributes(soap($row['bio'])),"`c`b`i")."`n",true);
}
if ($_GET[ret]==""){
addnav("Zur Liste der Krieger","list.php");
}else{
$return = preg_replace("'[&?]c=[[:digit:]-]+'","",$_GET[ret]);
$return = substr($return,strrpos($return,"/")+1);
//addnav("Zu den letzten Leistungen","bio.php?op=leist");
addnav("Zurück",$return);
}
if ($_GET[op]=="leist") {
output(stripslashes("`n`^Letzte Leistungen (und Niederlagen) von $row[name]`^"));
$result = db_query("SELECT * FROM news WHERE accountid=$row[acctid] ORDER BY newsdate DESC,newsid ASC LIMIT 100");
$odate="";
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
if ($odate!=$row[newsdate]){
output(stripslashes("`n`b`@".date("D, M d",strtotime($row[newsdate]))."`b`n"));
$odate=$row[newsdate];
}
output(stripslashes($row[newstext]."`n"));
}
}
page_footer();
?>[/php]

So ich hab's zurückgemacht und das hier ist meine gesamte bio.php.
Ich hoffe, das hilft weiter :)
Die html Codes funktionieren so weit ja auch. Nur zeigt es eben keine Bilder an :D

Autor:  Eliwood [ Sa 08 Apr, 2006 13:12 ]
Betreff des Beitrags: 

Versuch mal das:

[php]/**
* Allow these tags
*/
$allowedTags = '<h1><b><i><a><ul><li><pre><hr><blockquote><img>';

/**
* Disallow these attributes/prefix within a tag
*/
$stripAttrib = 'javascript:|onclick|ondblclick|onmousedown|onmouseup|onmouseover|'.
'onmousemove|onmouseout|onkeypress|onkeydown|onkeyup|onabort|'.
'onfocus|onload|onblur|onchange|onerror|onreset|onselect|obsubmit|onunload';

/**
* @return string
* @param string
* @desc Strip forbidden tags and delegate tag-source check to removeEvilAttributes()
*/
function removeEvilTags($source)
{
global $allowedTags;
$source = strip_tags($source, $allowedTags);
return preg_replace('/<(.*?)>/ie', "'<'.removeEvilAttributes('\\1').'>'", $source);
}

/**
* @return string
* @param string
* @desc Strip forbidden attributes from a tag
*/
function removeEvilAttributes($tagSource)
{
global $stripAttrib;
return stripslashes(preg_replace("/$stripAttrib/i", 'forbidden', $tagSource));
}[/php]

Müsstest dann einfach Einbauen ;)
Quelle: http://ch.php.net/manual/de/function.strip-tags.php

Autor:  Devilzimti [ Sa 08 Apr, 2006 13:34 ]
Betreff des Beitrags: 

elli du hast onfocus vergessen ;)

Autor:  Drazaar [ Sa 08 Apr, 2006 13:51 ]
Betreff des Beitrags: 

*garnix mehr peil*
ich baus einfach mal ein...ich nehm an, das muss in die bio.php...richtig? O.o

Autor:  Eliwood [ Sa 08 Apr, 2006 14:05 ]
Betreff des Beitrags: 

Ja, so wies da ist gehörts anstatt die alte Funktion :)

@ Devil: onfocus, onload und onclode noch dazu gemacht *g*
(Hrm, gibt aber noch mehr, oder? ô_Ò)

Autor:  Drazaar [ Sa 08 Apr, 2006 14:31 ]
Betreff des Beitrags: 

*sfz* ich glaub langsam ich bin zu dämlich für.
also ich hab das genau so gemacht...wie ichs eben verstanden habe.
aber bilder kommen immer noch keine :(

Autor:  Harthas [ Sa 08 Apr, 2006 14:42 ]
Betreff des Beitrags: 

ersetz das hier
[php]
if ($row['bio']>""){
output("`n`^Bio: `@`n".CloseTags(removeEvilAttributes(soap($row['bio'])),"`c`b`i")."`n",true);
} [/php]

mal mit
[php]if ($row['bio']>"")
output("{$row['bio']}",true);[/php]

Autor:  Eliwood [ Sa 08 Apr, 2006 15:48 ]
Betreff des Beitrags: 

Was soll das den geben? Keine Überprüfung auf böse Tags?

[php]if ($row['bio']>""){
output("`n`^Bio: `@`n".CloseTags(removeEvilAttributes(soap($row['bio'])),"`c`b`i")."`n",true);
} [/php]

Ersetzen mit

[php]if ($row['bio']>""){
output("`n`^Bio: `@`n".CloseTags(removeEvilTags(soap($row['bio'])),"`c`b`i")."`n",true);
} [/php]

So. Und dann poste mal, wie du das Bild überhaupt in die Bio eingibst... *g

Autor:  Rikkarda [ Sa 08 Apr, 2006 16:52 ]
Betreff des Beitrags: 

"onmouseover=",
"onmousedown=",
"onchange=",
"onChange=",
"OnChange=",
"OnChange=",
"onclick=",
"onmouseup=",
"onfocus=",
"Onmouseover=",
"Onmousedown=",
"Onclick=",
"Onmouseup=",
"Onfocus=",
"onabort=",
"onblur=",
"onchange=",
"onclick=",
"ondblclick=",
"onerror=",
"onfocus=",
"onkeydown=",
"onkeypress=",
"onkeyup=",
"onload=",
"onmousedown=",
"onmousemove=",
"onmouseout=",
"onmouseover=",
"onmouseup=",
"onreset=",
"onselect=",
"onsubmit=",
"onunload=",
"Onabort=",
"Onblur=",
"Onchange=",
"Onclick=",
"Ondblclick=",
"Onerror=",
"Onfocus=",
"Onkeydown=",
"Onkeypress=",
"Onkeyup=",
"Onload=",
"Onmousedown=",
"Onmousemove=",
"Onmouseout=",
"Onmouseover=",
"Onmouseup=",
"Onreset=",
"Onselect=",
"Onsubmit=",
"Onunload=",
"javascript",
"Javascript",




hab ich alle in meiner Function gefiltert


lg

Autor:  Drazaar [ Di 18 Apr, 2006 20:27 ]
Betreff des Beitrags: 

Also ich habe jetzt alles mal ausprobiert. Bei der letzten Änderung von Eli hat sich so viel geändert, das eigentlich garnichts mehr ging?
ich konnte <h1> noch benutzen, doch sonst eigentlich garnichts. Wenn ich ein bild eingab kam wiederum nicht einmal das kästchen mti dem roten X ^^

Bilder gebe ich in dieser Form ein:
<img scr="http://www.bildurl.de"</img>

ist das falsch?

Autor:  Harthas [ Di 18 Apr, 2006 20:29 ]
Betreff des Beitrags: 

[php]<img scr="http://www.bildurl.de">[/php]

genügt eigentlich so

Autor:  Eliwood [ Di 18 Apr, 2006 20:31 ]
Betreff des Beitrags: 

Nach XHTML ist valide:
$this->bbcode_second_pass_code('', '<img scr="http://www.bildurl.de" alt="Alternativer Text" /> ')

Alles andere ist eigentlich nicht valide bis vollkommen Falsch. Und ja, alt ist ein Pflichtattribut ;)

Autor:  Drazaar [ Di 18 Apr, 2006 20:47 ]
Betreff des Beitrags: 

wtf ist ein "alternativer Text"?
und upsa, meine Eingabe war
<img scr="http://www.bildurl.de"> nicht mit </img> am ende ;)

Autor:  Eliwood [ Di 18 Apr, 2006 20:56 ]
Betreff des Beitrags: 

Drazaar hat geschrieben:
wtf ist ein "alternativer Text"?
und upsa, meine Eingabe war
<img scr="http://www.bildurl.de"> nicht mit </img> am ende ;)


Den Text den man zu Gesicht bekommt wenn das Bild nicht angezeigt werden kann. Sei es wenn die URL nicht stimmt, oder der User Sehbehindert ist und diesen intressanten Text-Browser da verwendet (Doof, Name vergessen).
Übrigens ist es gar nicht mal so leicht mit dem LoGD zu spielen. *g*

Autor:  Drazaar [ Di 18 Apr, 2006 21:17 ]
Betreff des Beitrags: 

OK, jetzt kommt ein hässliches Kästchen, in welchem ein rotes Quadrat, ein blaues Dreieck und ein grüner Kreis vor weißem Hintergrund abgebildet sind. Daneben steht der alternative Text. ^^

OT: LoL, mit Opera kann man sich auch Texte vorlesen lassen...hört sich doch sehr funny an ^^

Autor:  Rikkarda [ Di 18 Apr, 2006 21:43 ]
Betreff des Beitrags: 

schon mal nachgesehen ob das bild erlaubt ist ? *.jpg zb..


meistens ist es ein rotes X wenn der Link "unrichtig " ist.. einige Server stellen sich an (meiner auch) wenn ich zb. von meinem Clanserver aus ein pic verlinke mit http://dai-clan.de/picturepfadusw. kommt ein rotes X

wenn ich aber http://www.dai-clan.de/blubbsoweiter mache kommt das bild..


hab mich schon öfter gefragt warum, aber nehms sonst als gegeben hin ;)

lg

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