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])."\"> </td><td valign='top'>"),true); } else { output(stripslashes("<table><tr><td>(kein Bild) </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: </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 ![]() |
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/ |