• 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 11 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 11 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 11 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 11 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 11 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

KDE overgår indsamlingsmålet for 2025 med rekordstor støtte fra lokalsamfundet 0
Zypper Package Manager brugervejledning til openSUSE brugere og deres derivater 0
KDE Spectacle tilføjer OCR understøttelse for at kopiere tekst direkte fra skærmbilleder 0
Deaktiverer alle AI-funktioner i Firefox Web Browser 0
Gratis solenergi, skrivebord og valg 0

Seneste aktivitet

Driver til min scanner? 1
Affinity V3 2
copy hvordan 1
Sortering af filer - sort of... 4
Det der ikke må galt gik galt 5
VPN — 8 tests, 1 klar vinder i 2025 3
Lidt nostalgi 1
Forum. 1
BigLinux 1
Mount btrfs-device fra ext4 8
Skal vi være nervøse? 22
How to upgrade to LMDE 7 6
Kontakt til dansk-gruppen 3
Internettet er ved at dø. Vi kan stadig stoppe det 1
Nørder søger nørder: Første Linux-brugergruppe på Mors 3
Østrigsk ministerium smider Microsoft ud til fordel for Nextcloud 1
Brug carburetor til at forblive usynlig online 8
Sådan konfigurerer du flatpaks' flathub til verified only 9
Plasma tapet-skifter 3
Virksomheder og enheder der kører på Linux 11

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !