tnViking Skrevet 15. oktober 2011 Del Skrevet 15. oktober 2011 Er det noen måter som jeg kan implentere BB Koder på siden min? Lenke til kommentar
Thomas. Skrevet 15. oktober 2011 Del Skrevet 15. oktober 2011 Ja. F.eks en [b] [/b] tagg. Hvis du vil legge til flere bb-koder kan du bare legge til flere values i arrayen. function BB($x1) { $bbkode = array('/\[b\](.*?)\[\/b\]/is' => '<strong>$1</strong>'); $tekst = $x1; $tekst = nl2br(htmlspecialchars(stripslashes(preg_replace(array_keys($bbkode), array_values($bbkode), $tekst)))); return htmlspecialchars_decode($tekst); } Lenke til kommentar
FraXinuS Skrevet 16. oktober 2011 Del Skrevet 16. oktober 2011 Den koden der vil gjøre siden din vid åpen for Cross-site scripting. 1 Lenke til kommentar
Ernie Skrevet 16. oktober 2011 Del Skrevet 16. oktober 2011 Det må jeg si var et høyst «nyttig» svar. Du synes ikke du burde utdype hvorfor koden er vid åpen for «cross-site scripting»? Personlig tror jeg ikke det svaret hjelper så veldig på for de uvitende. … men altså, koden over er en måte å løse problemet veldig enkelt på. Det fungerer til enkelt bruk hvor det ikke inntreffer rekursiv bruk av samme tag (f.eks. quote inni en quote), og trenger man ikke det kan man si seg fornøyd bortsett fra det allerede nevnte problemet med «cross-site scripting». Det FraXinuS burde forklart er hvorfor koden er det. Grunnen er ganske enkelt: < og > blir ikke omdannet til XML-entitetene > og < hvilket tillater at en bruker får sendt inn f.eks. <script src="http://evilsite/evilfile.js"> </script> og at dette faktisk ender opp i utskriften i den formen. Det finnes flere måter å løse opp i problemet, og strengt tatt er det utenfor funksjonens (BB) oppgave å rydde opp i dette problemet. Riktignok må det gjøres før man omdanner BB-kode til HTML, og uansett må man kjøre fortrinnsvis htmlspecialchars, eventuelt strip_tags eller htmlentities for å unngå problemer med «cross-site scripting». 2 Lenke til kommentar
Thomas. Skrevet 16. oktober 2011 Del Skrevet 16. oktober 2011 Denne pleier jeg å bruke, slipper skrive alt selv og inneholder allerede alt man trenger. Også er det lett å legge til mer etter behov: http://pastebin.com/5XpZTcSL Lenke til kommentar
Warz Skrevet 19. oktober 2011 Del Skrevet 19. oktober 2011 Du trenger to ting: PHP BBCode Parser: Denne benytter du for å konvertere bbcode til HTML slik at det kan vises igjen. Fordelen med å benytte dette biblioteket er at de har gjort alt det slitsomme arbeidet og passet på å tette de fleste sikkerhetshull. http://nbbc.sourceforge.net/ JavaScript (f.eks markitup): For å kunne skrive bbcode er det en fordel å benytte javascript slik at man kan enkelt merke tekst, legge til smilies osv, kan anbefale: http://markitup.jaysalvat.com/examples/bbcode/ Lenke til kommentar
Sono Juventino Skrevet 21. oktober 2011 Del Skrevet 21. oktober 2011 (endret) Denne pleier jeg å bruke, slipper skrive alt selv og inneholder allerede alt man trenger. Også er det lett å legge til mer etter behov: http://pastebin.com/5XpZTcSL Bare for å pirke litt. Den klassen er åpenbart skrevet før PHP5 og burde således vært oppdatert. Problemet er instansvariablene var, istedenfor private/protected. $bbcode = new codeLighter(); $bbcode->output("Sett inn hva du vil"); *pirk slutt* Edit: Ettersom det er pre-PHP5, er konstruktøren åpenbart kalt det samme som klassen. Det gjør muligens sikkerheten litt bedre ettersom objektet som opprettes muligens må inneholde noen korrekte paramere. Det er allikevel ingenting som hindrer en fra å endre objektet på denne måten i etterkant dog. Endret 21. oktober 2011 av Sono Juventino Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå