/ Forside/ Teknologi / Udvikling / Java Scripts / Spørgsmål
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
Vist : 735 gange
100 point
Dato : 11-09-02 07: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>


 
 
Kommentar
Fra : Nyhedsbruger


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.


Kommentar
Fra : leifnel


Dato : 11-09-02 09: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

Kommentar
Fra : Nyhedsbruger


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




Kommentar
Fra : Nyhedsbruger


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


Kommentar
Fra : leifnel


Dato : 16-09-02 00: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 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?
>
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.

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177416
Tips : 31962
Nyheder : 719565
Indlæg : 6407859
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste