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

Jonathan Riddell forlader KDE efter 25 år 0
Opfindelser skabt af OpenBSD-projektet 0
Sådan konfigurerer du flatpaks' flathub til verified only 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0

Seneste aktivitet

Linux Debian 2
LUKS kryptering - Er der andre der bruger det 3
Brother printer installation 2
Tid til forandring 11
Den er go 6
Skal vi være nervøse? 19
Pepsi Challenge 17
LibreOffice Skolen 2
AI kommer til Linux kernen 3
RapidRAW 3
Så er google igen blivet fanget i at snuse 1
Debian Trixie til boomerne 17
Overvåg dit webstedets oppetid og ydeevne fra din terminal 1
Darktable 6
XIVA Studio 1
Kubuntu Focus Zr GEN 1: Linux første højtydende mobil arbejdsstation 2
VpN men hvilken 25
Linux i fremgang 25
wifi ikke virker 7
Mest sikker webbrowser 10

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !