Avatar billede crysis Nybegynder
13. april 2007 - 11:20 Der er 26 kommentarer

Javascipt sikkerhed

Hvordan kan man forhindrer at folk kan skrive javascript i adressenbar'en.

F.eks "java script:function test() {var msg = document.getElementById('Msg');var nmsg = document.createElement('input'); nmsg.name='Msg';msg.parentNode.appendChild(nmsg);msg.parentNode.removeChild(msg);nmsg.id = 'Msg';return;}test();"

Google giver mig ikke meget hjælp desværre.
Avatar billede morhan Novice
13. april 2007 - 11:24 #1
det er ikke alt der kan lade sig gøre, desværre
Avatar billede crysis Nybegynder
13. april 2007 - 11:31 #2
Ja, det kan lade sig gøre... Men hvordan stopper man det?

Hvorfor dælen er det også muligt at taste en javascript function ind i adressefeltet og så køre det? Det er jo tåbeligt...
Avatar billede crysis Nybegynder
13. april 2007 - 11:33 #3
Eller hvordan forhindrer man at det bliver "kørt" på siden..
Avatar billede olebole Juniormester
13. april 2007 - 13:29 #4
<ole>

Jamen, det _skal_ da være sådan! Det kan du heldigvis ikke forhindre - og det er alt andet end et sikkerhedsproblem. Hvis du oplever det som et sikkerhedsproblem, er det dine kodevaner, der er noget helt galt med  =)

/mvh
</bole>
Avatar billede crysis Nybegynder
13. april 2007 - 13:50 #5
Ja, men hvis jeg har et dropdown menu, hvordan jeg så sikrer at man ikke har fuld kontrol over den via javascriptet?
Avatar billede olebole Juniormester
13. april 2007 - 13:51 #6
Det kan du ikke sikre dig - men hvorfor skulle du dog også det ... det kan da være rystende ligegyldigt?
Avatar billede crysis Nybegynder
13. april 2007 - 13:55 #7
Hvis jeg nu har en dropdown, hvor jeg gerne vil have folk til at vælge noget. Men scriptet kan man "tømme" listen og lave et input felt. Hvorefter man kan indtaste hvad man vil. Det kan jo ikke altid være hensigten.

Jeg kan sagtens lave det helt om, men da nu lige er stødt på dette, vil jeg lige høre om man kan gøre noget ved det.
Avatar billede fennec Nybegynder
13. april 2007 - 14:06 #8
Løsningen er at validere sine input serverside (ASP/PHP), hvilket man desuden skal gøre alligevel, da der findes brugere, som har deaktiveret JS fuldstændig.
Avatar billede olebole Juniormester
13. april 2007 - 14:06 #9
Der sker intet ved at brugeren laver nok så meget om i en sides kode. Sikkerhed kan/må du _kun_ deale med på serveren. Alle bruger-inputs skal valideres på serveren - og alle værdier skal chekes for, om de indeholder noget i det forventede format
Avatar billede crysis Nybegynder
13. april 2007 - 14:07 #10
Jeg kan se at man egentlig ikke har kontrol over hvad der sker clientside. Jeg har altid regnet med at hvis man "rensede" alt hvad en bruger kunne taste ind, så det ikke ville indeholde javascript, var nok.

Men det er jo så ikke i den grad. My bad... Nu skal jeg bare se om jeg ikke kan finde den bedste løsning.
Avatar billede olebole Juniormester
13. april 2007 - 14:08 #11
- og hvem somhelst kan jo blot lave en klon af din side og ændre i formkoden, inden der submittes mod din server  =)
Avatar billede crysis Nybegynder
13. april 2007 - 14:12 #12
Ja, det er rigtigt... Jeg kan godt se det. Så er det jo også dumt at finde en løsning på det. Bare kom med et svar Ole, så får du point :-)

Tak for hjælpen/forklaringen.
Avatar billede olebole Juniormester
13. april 2007 - 14:26 #13
Selvtak. Iøvrigt har du måske lagt mærke til, jeg altid skriver mit navn i 'tags' i det første indlæg i en tråd. Det gør jeg faktisk med en Favorit, der ligger i Hyperlinks-baren på min IE. I stedet for et link, indeholder den et JavaScript, der skrive min 'signatur' ind i sidens beskedfelt.

Prøv f.eks. at lave dette link i et dokument:
    < herf="java script:document.getElementsByName('message')[1].value='<ole>\r\n\r\n\r\n\r\n/mvh\r\n</bole>';void(0)">OleBole BookMarkLet</a>

Kast dokumentet i en browser og højreklik på linket. Vælg 'Gem som Favorit...' - og klik OK på advarslen, der fremkommer ... du ved jo, hvad du gør og scriptet er ikke farligt  ;o)

Hvis du på en Eksperten-spørgsmåls-side vælger denne favorit, vil du se, den indskriver min signatur i besked-feltet.

Det er naturligvis kun 'legetøj' - men teknikken kan nu også bruges ganske fornuftigt. Se evt. også:
    http://www.dengodekode.dk/bm_artikel.html

Sitet er endnu ikke 'officielt - men skal nok blive interessant på et tidspunkt (når jeg får lidt mere tid)  =)
Avatar billede roenving Novice
13. april 2007 - 15:12 #14
>>ole

-- hvadfor splitter du ikke bare med en regexp i eksemplet:

.split(/[, ]/)
Avatar billede olebole Juniormester
13. april 2007 - 15:14 #15
roenving >> her faldt jeg vist af. Hvilket eksempel?  =)
Avatar billede olebole Juniormester
13. april 2007 - 15:16 #16
Arhhh ... er det meta-keyword eksemplet i artiklen? Hvis det er tilfældet, så skyldes det, at mange ikke kommaseparerer deres keywords - men blot bruger et mellemrum  =)
Avatar billede olebole Juniormester
13. april 2007 - 15:17 #17
- nåååhhhh ja ... en RegExp. Det ville da være en oplagt løsning. Der kommer helt afgjort en rettelse til den artikel  ;oD
Avatar billede roenving Novice
13. april 2007 - 16:28 #18
-- et af de gode eksempler på, at det virkeligt er nyttigt at bruge den slags er f.eks. tidsstempler, f.eks. '13-04-2007 16:27:15', som kan splittes direkte med .split(/[- :]/)

-- faktisk en ret sjov smiley ,-)
Avatar billede olebole Juniormester
16. april 2007 - 13:28 #19
Jamen, det er jo helt oplagt! Nåja ... hjernen er sådan en dejlig én at sidde på. Der er lige en halvdel til hver balle - og en hypofyse i midten til at tage den værste brise  ;oD
Avatar billede roenving Novice
17. april 2007 - 01:58 #20
Hvis du kalder den imellem for en hypofyse ...
Avatar billede olebole Juniormester
17. april 2007 - 13:04 #21
ehhhh ... ikke imellem DEM! ... mellem de ANDRE!  *ROTFLMAO*  ;oD
Avatar billede olebole Juniormester
17. april 2007 - 13:07 #22
Pludselig kommer jeg min eks's råd ang. snorkende mænd i hu:
"Vend ham om på ryggen og spred hans ben. Så falder løgene ned og dækker for hullet - hvorved gennemtrækken stoppes ... voilá!"  ;o)
Avatar billede roenving Novice
18. april 2007 - 01:26 #23
Hrm, vi skal vist snart planlægge en session, hvor de grønne væltes planmæssigt !-)
Avatar billede olebole Juniormester
18. april 2007 - 15:39 #24
Vi skal vel snart ud og kaste med noget hardware - omend alderen efterhånden foreskriver kast med software i pauserne i stedet  ;o)
Avatar billede fennec Nybegynder
18. april 2007 - 15:43 #25
I er syge i hoved :o)
Avatar billede roenving Novice
18. april 2007 - 15:44 #26
Softwaren kan vel bare kastes i halsen ?-)

>>fennec

-- og vi praler af det !-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester