• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af Jacques | 15.01.2009 15:05

at escape'e output - kriterie (PHP)

Programmering
Jeg er lidt i tvivl om hvor konsekvent man skal gøre det her, så lad mig spørge sådan her: Er der nogen situationer/typer output, hvor man ikke behøver/skal escape'e? Og er det virkelig nok, bare at bruge htmlentities() eller htmlspecialchars()?
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer5

# 1

16 år 5 måneder siden

Permalink

Indsendt af ninja den 15. januar 2009 kl. 15:11

Permalink

Re: at escape'e output - kriterie (PHP)

Tjaeh, hvis det skal vises som det er skrevet (html/js/css vises) så skal det ikke escapes..

Så du kan sige, at hvis teksten skal kunne gøre alt, så skal det ikke.. Ellers så skal det, for at ikke man kan injecte slemme slemme ting..
  • Log ind eller opret dig for at tilføje kommentarer

# 2

16 år 5 måneder siden

Permalink

Indsendt af SLK den 16. januar 2009 kl. 08:52

Permalink

Re: at escape'e output - kriterie (PHP)

Kommer vel også an på hvem der har skrevet teksten der skal/skal ikke escapes.

Er det via en submit side til brugere, er det nok en fandens god idé.
Er det kun dig, admin, da har adgang er det jo ikke livsnødvendigt.

Men gør det da de steder du har mulighed for det, så er man da sikker.

Husk også mysql_real_escape_string ved data der skal i mySQL database.
  • Log ind eller opret dig for at tilføje kommentarer

# 3

16 år 5 måneder siden

Permalink

Indsendt af Jacques den 16. januar 2009 kl. 10:15

Permalink

Re: at escape'e output - kriterie (PHP)

Ok, jeg skal nok lige have en videre specificering, men jeg tror at jeg har kriteriet på plads.

Når informationen er leveret af mig selv, så er det ikke synderligt nødvendigt - hverken med filtrering af input eller escape'ing af output, men når vi er på den offentlige, "ukontrollérbare" side af applikationen, så er den del af output'et der er resultatet af input, genereret af offentligheden nødvendig at escape'e.

Ninja: jeg er ikke helt sikker på at den holder, for userinput kan jo sagtens være risikabelt selv om det bliver wrappet i HTML. Det er nok nærmere noget med at escape'e inde i strings, istedet for at escape'e hele strengen.

echo "{H1}Hello htmlentities($_POST['username']) - and welcome!{/H1}";

Jeg forstår bare ikke helt det der med, at det virkelig skulle være nødvendigt at escape'e outputtet, hvis man ellers har filtreret det input der leverer indholdet der output'es.

Er der ellers nogen ting der ikke er så åbenlyse at skulle escape'e, men som faktisk bør?
  • Log ind eller opret dig for at tilføje kommentarer

# 4

16 år 5 måneder siden

Permalink

Indsendt af marx den 16. januar 2009 kl. 10:36

Permalink

#3
Jeg tror den eneste

#3
Jeg tror den eneste sikkerhedsmæssige faktor der ligger i at køre outputstrenge igennem htmlentities, er at du slipper for at folk embedder ondsindet javascript. Hvis du filtrerer det fra under inputproceduren, så vil jeg ikke mene du behøves bruge kræfter på at escape outputtet også.
  • Log ind eller opret dig for at tilføje kommentarer

# 5

16 år 5 måneder siden

Permalink

Indsendt af Jacques den 16. januar 2009 kl. 14:19

Permalink

3# Det er det jeg tænker,

4#

Det er det jeg tænker, man hører bare mantra'et: "Filter input, escape output" overalt i forbindelse med sikkerhed i PHP programmering- hvilket giver een indtrykket, at man selvfølgelig skal gøre begge dele.
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

den er sjov 0
llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0

Seneste aktivitet

PcLinuxOS er død længe leve Pclosdebian 11
Reserve kernel og btrfs 1
En snak om Linux-kompatibel software 12
PCLinuxOS 28
"Intet realistisk alternativ" - mig i r*ven 17
Open source events i danmark? 3
Virtuel maskine? 4
Gode anmeldelser Zorin OS 17.3 8
Open Source-eksperimentet 5
Nulstilling af adgangskode 6
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !