Får ikke fram bildene

testdriver

Ha det bra..
Har en mal som brukes på en rekke forskjellige undersider. Det hentes tekst utfra en database. Eksempel: {$data[data].description}

I tillegg til tekst, ønsker jeg å legge ut bilder. Det fungerer ikke nå. Jeg får bare opp koden, ikke bildet. Samme gjelder linker (<a href..)

Er det en opplagt løsning på dette problemet?
 

testdriver

Ha det bra..
Hm, det var en bra tanke, men jeg fant ingen. Finnes det 'synonymer'?

Testet å legge inn en link i fila (ikke inn i databasen), rett før {$data[dat... Det fungerte bra. Så det er altså kun dataen som hentes fra databasen som har dette problemet.

Jeg skjønner som vanlig ingenting. Utrolig frustrerende. Begynner å bli tynn i håret allerede...

Det kan ikke være en SQL-begrensning av et slag?
 

Mr Vest

Sjefen over alle sjefer!
Legg gjerne ut koden din. Eneste jeg kjenner meg igjen i når du skriver dette har med Wordpress og gjøre, men det bruker du jo ikke så vidt jeg forstår.
 

testdriver

Ha det bra..
Det er nok noe med denne:

{$data[data].description|stripslashes|htmlspecialchars|nl2br}

Har forsøkt å fjerne alt, noen, ingen og andre, men ingenting gir tillatelse til img- eller a-tag. Trodde jeg hadde funnet løsningen da htmlspecialchars lå der...

Må det legges inn en ny?

Forresten, i brukergenerert innhold skal man visstnok være forsiktig med å tillate full HTML i koder som dette pga faren for XSS. Mitt innhold er ikke brukergenerert - Er XSS da noe jeg må bekymre meg for?
 
Sist redigert:
Det er htmlspecialchars som er problemet ditt, ja. En av tingene htmlspecialchars() gjør er å bytte ut alle <-er med &lt; og alle >-er med &gt;, og derfor får du ikke vist bildene.

Jeg skal innrømme at jeg ikke forstår teksten du skriver her (trodde jeg begynte å skjønne litt om databaser, men når du begynner å skrive { og } og | og sier at alt dette har noe med å hente ut data fra databaser å gjøre, blir jeg svimmel og må legge meg nedpå litt), men du mener at det ikke hjelper å fjerne htmlspecialchars? Besynderlig, med mindre teksten er kjørt gjennom htmlspecialchars FØR den ble lagt inn i databasen.

Isåfall burde det kunne fungere å bruke htmlspecialchars_decode()-funksjonen på teksten før den skrives ut til HTML-koden.

Dersom du noe sted på siden har skjemaer brukerne kan sende informasjon gjennom eller du bruker GET-variabler i URL eller lignende, må du iallefall passe deg for XSS, selv om hovedinnholdet i dokumentet ditt er egengenerert.
 

testdriver

Ha det bra..
Det er htmlspecialchars som er problemet ditt, ja. En av tingene htmlspecialchars() gjør er å bytte ut alle <-er med &lt; og alle >-er med &gt;, og derfor får du ikke vist bildene.

Jeg skal innrømme at jeg ikke forstår teksten du skriver her (trodde jeg begynte å skjønne litt om databaser, men når du begynner å skrive { og } og | og sier at alt dette har noe med å hente ut data fra databaser å gjøre, blir jeg svimmel og må legge meg nedpå litt), men du mener at det ikke hjelper å fjerne htmlspecialchars? Besynderlig, med mindre teksten er kjørt gjennom htmlspecialchars FØR den ble lagt inn i databasen.

Isåfall burde det kunne fungere å bruke htmlspecialchars_decode()-funksjonen på teksten før den skrives ut til HTML-koden.

Dersom du noe sted på siden har skjemaer brukerne kan sende informasjon gjennom eller du bruker GET-variabler i URL eller lignende, må du iallefall passe deg for XSS, selv om hovedinnholdet i dokumentet ditt er egengenerert.

Dæven, olafmoriarty! Du fant løsningen. Byttet ut htmlspecialchars med din htmlspecialchars_decode - da fungerte bilder og linker.

Tusen takk!

Jeg var et stykke forbi det å legge meg ned pga svimmelhet nå, så det her setter jeg stor pris på! :)
 
Topp