/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Cross site scripting
Fra : leifnel


Dato : 11-09-02 06:11

Jeg har lavet noget smart, synes jeg

Jeg har en form, hvor man bl.a. skal udfylde et postnr.
Når man har udfyldt feltet, kalder onchange et showmodaldialog vindue
med postnummeret som parameter.
Dette slår postnummeret op i en database, og returnerer bynavnet i
returnvalue, og lukker dialogvinduet.
Den kaldende side sætter nu bynavnet ind i bynavnsfeltet i formen.
Dvs. man udfylder postnummeret, og bynavnet vises straks; man bemærker
knap nok "opslagsvinduet".

Men det virker kun, når formen og opslagsvinduet kommer fra samme site.
Flytter jeg opslagsvinduet til et andet site, bliver det godt nok kaldt
og finder bynavnet, men det kaldende vindue vil ikke modtage værdien;
det bliver vel stoppet af noget "anti-cross-site-scripting"-filter.
Kan man fortælle det kaldende vindue's browser, at det "fremmede" vindue
er troværdigt?
Uden at brugeren skal pille ved sine sikkerhedsindstillinger?

<form>
Postnr<input type=text name=postnr id=postnr size=4
onchange="getpostnr();">
By<input type=text name=bynavn id=bynavn>
</form>
<script language=javascript>
function getpostnr() {
var postnr=document.getElementById("postnr").value;
var wnd = window.showModalDialog('postnr.php/'+postnr,....
document.getElementById("bynavn").value=wnd;
};
</script>

postnr.php:
{opslag i database}
<body onload=return_bynavn()>
<script language=javascript>
function return_bynavn() {
window.returnValue = "<?=$by?>";
this.close();
};
</script>


--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


 
 
Jonas Koch Bentzen (11-09-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 11-09-02 08:01

leifnel wrote:
>
> Jeg har en form, hvor man bl.a. skal udfylde et postnr.
> Når man har udfyldt feltet, kalder onchange et showmodaldialog vindue
> med postnummeret som parameter.
> Dette slår postnummeret op i en database, og returnerer bynavnet i
> returnvalue, og lukker dialogvinduet.
> Den kaldende side sætter nu bynavnet ind i bynavnsfeltet i formen.
> Dvs. man udfylder postnummeret, og bynavnet vises straks; man bemærker
> knap nok "opslagsvinduet".
>
> Men det virker kun, når formen og opslagsvinduet kommer fra samme site.
> Flytter jeg opslagsvinduet til et andet site, bliver det godt nok kaldt
> og finder bynavnet, men det kaldende vindue vil ikke modtage værdien;
> det bliver vel stoppet af noget "anti-cross-site-scripting"-filter.
> Kan man fortælle det kaldende vindue's browser, at det "fremmede" vindue
> er troværdigt?

Jeg ville gå en helt anden vej: Jeg ville indlæse alle postnumre og byer
i et array, som JavaScript så kan slå direkte op i i stedet for at gå
inden om serveren. Selv store arrays kan JavaScript håndtere på ingen
tid, så det eneste lille minus er faktisk de ekstra kilobytes, der skal
hentes af brugeren - og de er altså ikke noget at tale om.


leifnel (11-09-2002)
Kommentar
Fra : leifnel


Dato : 11-09-02 08:49

"Jonas Koch Bentzen" skrev d. 11-09-02 08:01 dette indlæg :
>
> Jeg ville gå en helt anden vej: Jeg ville indlæse alle postnumre og
byer
> i et array, som JavaScript så kan slå direkte op i i stedet for at gå
> inden om serveren. Selv store arrays kan JavaScript håndtere på ingen
> tid, så det eneste lille minus er faktisk de ekstra kilobytes, der
skal
> hentes af brugeren - og de er altså ikke noget at tale om.
>
I databasen er 1343 postnumre, 28KB.
Foruden at jeg gerne vil kunne bruge teknikken til at hente data fra
f.ex. kundedatabasen, og der er det nok ikke smart at medlevere alle
kunders data til en form...

Leif

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Bjarke Freund-Hansen (11-09-2002)
Kommentar
Fra : Bjarke Freund-Hansen


Dato : 11-09-02 19:47

leifnel wrote:

> "Jonas Koch Bentzen" skrev d. 11-09-02 08:01 dette indlæg :

>> Jeg ville gå en helt anden vej: Jeg ville indlæse alle postnumre og byer
>> i et array, som JavaScript så kan slå direkte op i i stedet for at gå
>> inden om serveren. Selv store arrays kan JavaScript håndtere på ingen
>> tid, så det eneste lille minus er faktisk de ekstra kilobytes, der skal
>> hentes af brugeren - og de er altså ikke noget at tale om.

> I databasen er 1343 postnumre, 28KB.
> Foruden at jeg gerne vil kunne bruge teknikken til at hente data fra
> f.ex. kundedatabasen, og der er det nok ikke smart at medlevere alle
> kunders data til en form...

Hvorfor laver du det ikke server-side, det ville da være så meget nemmere?

--
Greetings
Bjarke Freund-Hansen


leifnel (15-09-2002)
Kommentar
Fra : leifnel


Dato : 15-09-02 23:56

"Bjarke Freund-Hansen" skrev d. 11-09-02 19:47 dette indlæg :
> leifnel wrote:
>
> > "Jonas Koch Bentzen" skrev d. 11-09-02 08:01 dette indlæg :
>
> >> Jeg ville gå en helt anden vej: Jeg ville indlæse alle postnumre og
byer
> >> i et array, som JavaScript så kan slå direkte op i i stedet for at

> >> inden om serveren. Selv store arrays kan JavaScript håndtere på
ingen
> >> tid, så det eneste lille minus er faktisk de ekstra kilobytes, der
skal
> >> hentes af brugeren - og de er altså ikke noget at tale om.
>
> > I databasen er 1343 postnumre, 28KB.
> > Foruden at jeg gerne vil kunne bruge teknikken til at hente data fra
> > f.ex. kundedatabasen, og der er det nok ikke smart at medlevere alle
> > kunders data til en form...
>
> Hvorfor laver du det ikke server-side, det ville da være så meget
nemmere?
>
Det er jo sådan set også det, jeg gør. Og fidusen er, at bynavnet dukker
op, når man har tastet postnummeret, uden man skal reloade siden.

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Hintzmann (11-09-2002)
Kommentar
Fra : Hintzmann


Dato : 11-09-02 08:22

"leifnel" <leifnel.news@kandu.dk> wrote in message
news:s7Af9.69401$ww6.4811876@news010.worldonline.dk...
> Jeg har lavet noget smart, synes jeg
>
> Jeg har en form, hvor man bl.a. skal udfylde et postnr.
> Når man har udfyldt feltet, kalder onchange et showmodaldialog vindue
> med postnummeret som parameter.
> Dette slår postnummeret op i en database, og returnerer bynavnet i
> returnvalue, og lukker dialogvinduet.
> Den kaldende side sætter nu bynavnet ind i bynavnsfeltet i formen.
> Dvs. man udfylder postnummeret, og bynavnet vises straks; man bemærker
> knap nok "opslagsvinduet".

Showmodaldialog er en MSIE only ting.

Hvis du ønsker at få en "mere" standard måde at hente data fra serveren,
uden at clienten forlader siden, så prøv at kigge på min mhaRemoteServer.

http://users.cybercity.dk/~dsl58854/articles/mhaRemoteServer/readme.html

Den er lavet så man kan sende data til serversiden (ex. PHP) via URL'en.
Serveren udfører funktionen (slår postnr op), og returnere en javascript-fil
til clienten.

Dette virker i MSIE5+ og Mozilla1.1/Netscape6+, og måske også den kommende
Opera7.

Hintzmann




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste