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

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hvordan validerer man form-entries?
Fra : M@rk


Dato : 03-01-03 22:20

Hej alle,

jeg er ved, at få ok styr på asp på begynder-niveau og har efterhånden
lært, at finde de fleste fejl selv - bl.a. ved hæftig læsning af denne
gruppe, så jeg er alt i alt en glad asp-newbie )

Meeeen, når nu har jeg har lavet mit "fine" nye site, med brugelogin
og hele svineriet, så slår det mig pludselig, at jeg har en major bug
......... og derfor har været "tvunget" til, at slå min
brugeroprettelse fra

I den form, som brugeren skal udfylde for, at blive oprettet som
bruger, er der ikke nogen form for felt-kontrol - så når jeg "kræver",
at få oplyst vedkommendes rigtige navn, så kan vedkommende blot lade
være med, at skrive noget som helst [1]

Jeg har prøvet med "required" i min formular, men det løste ikke
problemet - hvad gør man så?


TIA,

Mark


[1] Jo jo, jeg er klar over, at vedkommende bare kan oplyse et forkert
navn, men det er et helt andet issue

--
M@rk, the unknown @ vosborg.dk - ICQ #6564215

"When the rythm-section ain't making it
- go for it your self" ~ Ben Webster

 
 
Niels Henriksen (03-01-2003)
Kommentar
Fra : Niels Henriksen


Dato : 03-01-03 22:46

"M@rk" <unknown@vosborg.invalid> skrev i en meddelelse
news:9jvb1v40cr8ca1apt8joedveauuleovge0@4ax.com...
> Hej alle,
>
>
> Jeg har prøvet med "required" i min formular, men det løste ikke
> problemet - hvad gør man så?
>
Benyt javascript og derfor skal du spørge i
dk.edb.internet.webdesign.clientside


--
Niels Henriksen
Bigtiger.dk - Det vildeste webhotel



Mark S. Rasmussen (03-01-2003)
Kommentar
Fra : Mark S. Rasmussen


Dato : 03-01-03 02:34

> Benyt javascript og derfor skal du spørge i
> dk.edb.internet.webdesign.clientside

Hvad nu hvis han gerne vil benytte ASP? Det var jo egentligt det spørgsmålet
gik ud på. Min mening er at det optimale er både javascript, og ASP.

Et simpelt form check i ASP kunne være:

If Len(Request.Form("fUsername")) < 1 Then
Response.Write("Forkert udfyldt")
Else
Response.Write("Det er du da god til!")
End If

Mvh Mark
--
www.improve.dk



Niels Henriksen (04-01-2003)
Kommentar
Fra : Niels Henriksen


Dato : 04-01-03 10:31

"Mark S. Rasmussen" <mark@tv.dk> skrev i en meddelelse
news:av5dne$1rka$1@news.cybercity.dk...
>
> Hvad nu hvis han gerne vil benytte ASP? Det var jo egentligt det
spørgsmålet
> gik ud på. Min mening er at det optimale er både javascript, og ASP.
>
Det var også min første tanke, men da jeg så at han havde skrevet "Jeg har
prøvet med "required" i min formular" så mente jeg at han nok
prøvede at gøre det clientside. Derfor mit råd.


--
Niels Henriksen
Bigtiger.dk - Det vildeste webhotel



M@rk (05-01-2003)
Kommentar
Fra : M@rk


Dato : 05-01-03 15:22

Sat, 4 Jan 2003 10:30:39 +0100, berigede "Niels Henriksen"
<spam@microsoft.com> dk.edb.internet.webdesign.serverside.asp med:

>Det var også min første tanke, men da jeg så at han havde skrevet "Jeg har
>prøvet med "required" i min formular" så mente jeg at han nok
>prøvede at gøre det clientside. Derfor mit råd.

Nææh, årsagen til at "han" skrev, at han havde prøvet med required var
nu kun, at det var den eneste ide han lige kunne få )


/Mark

--
M@rk, the unknown @ vosborg.dk - ICQ #6564215

"When the rythm-section ain't making it
- go for it your self" ~ Ben Webster

M@rk (05-01-2003)
Kommentar
Fra : M@rk


Dato : 05-01-03 15:24

Fri, 3 Jan 2003 02:34:13 +0100, berigede "Mark S. Rasmussen"
<mark@tv.dk> dk.edb.internet.webdesign.serverside.asp med:

>If Len(Request.Form("fUsername")) < 1 Then
> Response.Write...........

Super - jeg har dog lidt problemer med realiseringen - min form sender
oprettelsesdata til mit oprettelsesscript, her er ovenstående check -
men så bør jeg vel også have en "returside" som brugeren lander på,
når vedkommende har skrevet forkert - vel at mærke, en returside som
indeholder de oplysninger, som brugeren allerede har skrevet?!

Tak for dit indspark.

/Mark

--
M@rk, the unknown @ vosborg.dk - ICQ #6564215

"When the rythm-section ain't making it
- go for it your self" ~ Ben Webster

Jens Gyldenkærne Cla~ (04-01-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-01-03 22:22

Mark S. Rasmussen skrev:

> Hvad nu hvis han gerne vil benytte ASP? Det var jo egentligt
> det spørgsmålet gik ud på. Min mening er at det optimale er
> både javascript, og ASP.

Bruger man asp.net kan man benytte validator-controls der virker
både client- og serverside - noget lettere end kombineret
javascript og asp.old.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Christian M. Nielsen (04-01-2003)
Kommentar
Fra : Christian M. Nielsen


Dato : 04-01-03 15:47

noget java code fra en gammel site

<script language="JavaScript">


function validate() {

if (document.form.strBygherre.value == ""){
alert("Du skal angive en Bygherre!")
document.form.strBygherre.focus();
return false
}

if (document.form.strSted.value == ""){
alert("Du skal angive et Sted!")
document.form.strSted.focus();
return false
}

if (document.form.strDato.value == ""){
alert("Du skal angive en Dato!")
document.form.strDato.focus();
return false
}

return true

}

</script>

og i din form

<form action="article.asp?action=savelic" method="POST" name="form"
id="form" onsubmit="return validate();">

<input class="formfield" type="Text" id="strBygherre" name="strBygherre"
size="60" name="besked" maxlength="44">
<input class="formfield" type="Text" id="strSted" name="strSted" size="60"
name="besked" maxlength="44">
<input class="formfield" type="Text" id="strDato" name="strDato" size="60"
name="besked" maxlength="44">

--

Mvh / Regards

-=< Christian >=-

What capital has 164 letters in its name? See my web page to find out.
http://www.cmnielsen.dk ICQ: 25308942
Destiny is not a matter of chance it is a matter of choice
"M@rk" <unknown@vosborg.invalid> wrote in message
news:9jvb1v40cr8ca1apt8joedveauuleovge0@4ax.com...
> Hej alle,
>
> jeg er ved, at få ok styr på asp på begynder-niveau og har efterhånden
> lært, at finde de fleste fejl selv - bl.a. ved hæftig læsning af denne
> gruppe, så jeg er alt i alt en glad asp-newbie )
>
> Meeeen, når nu har jeg har lavet mit "fine" nye site, med brugelogin
> og hele svineriet, så slår det mig pludselig, at jeg har en major bug
> ........ og derfor har været "tvunget" til, at slå min
> brugeroprettelse fra
>
> I den form, som brugeren skal udfylde for, at blive oprettet som
> bruger, er der ikke nogen form for felt-kontrol - så når jeg "kræver",
> at få oplyst vedkommendes rigtige navn, så kan vedkommende blot lade
> være med, at skrive noget som helst [1]
>
> Jeg har prøvet med "required" i min formular, men det løste ikke
> problemet - hvad gør man så?
>
>
> TIA,
>
> Mark
>
>
> [1] Jo jo, jeg er klar over, at vedkommende bare kan oplyse et forkert
> navn, men det er et helt andet issue
>
> --
> M@rk, the unknown @ vosborg.dk - ICQ #6564215
>
> "When the rythm-section ain't making it
> - go for it your self" ~ Ben Webster



Jesper Stocholm (04-01-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 04-01-03 16:52

Christian M. Nielsen wrote :

> noget java code fra en gammel site
>
> <script language="JavaScript">

du mener selvfølgelig "javascript code"

I øvrigt bør form/querystring-data validering aldrig alene gøres på
klientsiden - det bør altid følges op af tilsvarende check på serversiden.



--
Jesper Stocholm - http://stocholm.dk

Svar til gruppen og ikke til mig privat !
Skriv under det du svarer på - www.usenet.dk/netikette/citatteknik.html

Christian M. Nielsen (04-01-2003)
Kommentar
Fra : Christian M. Nielsen


Dato : 04-01-03 23:13


"Jesper Stocholm" <jespers@stocholm.invalid> wrote in message
news:Xns92F9AB8234BCFspamstocholmdk@130.226.1.34...

> > noget java code fra en gammel site
> >
> > <script language="JavaScript">
>
> du mener selvfølgelig "javascript code"

Klart

> I øvrigt bør form/querystring-data validering aldrig alene gøres på
> klientsiden - det bør altid følges op af tilsvarende check på serversiden.

Det kommer vel an på situationen. Her er det jo et spørgsmål om der er
indtastet noget i et felt eller ej? Men jeg er da åben over for
modargumenter

--

Mvh / Regards

-=< Christian >=-

What capital has 164 letters in its name? See my web page to find out.
http://www.cmnielsen.dk ICQ: 25308942
Destiny is not a matter of chance it is a matter of choice




Jens Gyldenkærne Cla~ (04-01-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-01-03 23:35

Christian M. Nielsen skrev:

>> I øvrigt bør form/querystring-data validering aldrig alene
>> gøres på klientsiden - det bør altid følges op af tilsvarende
>> check på serversiden.
>
> Det kommer vel an på situationen. Her er det jo et spørgsmål
> om der er indtastet noget i et felt eller ej? Men jeg er da
> åben over for modargumenter

Alene den grund at javascript kan være slået fra (eller ikke være
understøttet) af browseren er nok til at man (også) bør validere
serverside.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Thomas Voller (05-01-2003)
Kommentar
Fra : Thomas Voller


Dato : 05-01-03 00:52

> Alene den grund at javascript kan være slået fra (eller ikke være
> understøttet) af browseren er nok til at man (også) bør validere
> serverside.

De store browsere (IE, Mozilla, Netscape, Opera m.fl.) understøtter jo alle
JavaScript. Jeg kan ikke lige komme i tanke om en browser der ikke
understøtter JavaScript (hvis man ser bort fra meget gamle udgaver). Hvis
brugeren selv har slået det fra, så er brugeren sikkert også så avanceret at
han/hun godt ved det slår en del funktionalitet på en masse sider fra.
JavaScript er trods alt ret udbredt.

Så vend den om... Hvorfor både validere på serveren OG client-side, hvis vi
fastholder der er mulighed for "fejl" client-side? Så burde det jo være nok
at validere server-side? Redundans er ikke altid godt. Jeg leger lige
djævlens advokat.

Det jeg ikke bryder mig om ved serverside validering i f.eks. ASP er at man
hele tiden skal have alt ind og vende serveren (well, duuuh... . Så skal
det også tilbage til klienten igen i tilfælde af fejl. Det forekommer mig
som et ret stort besvær at gå den lange vej, når det kan klares hurtigt,
nemt og meget mere effektivt med et lille JavaScript.




Mvh. Thomas.
Der normalt kun validerer med JavaScript.



Jørn Andersen (05-01-2003)
Kommentar
Fra : Jørn Andersen


Dato : 05-01-03 20:35

On Sun, 5 Jan 2003 00:52:23 +0100, "Thomas Voller" <voller@voller.dk>
wrote:

>Det jeg ikke bryder mig om ved serverside validering i f.eks. ASP er at man
>hele tiden skal have alt ind og vende serveren (well, duuuh... .

Det er netop derfor, at man bruger clientside validering til at fange
så meget som muligt - men har serverside validering som den egentlige
sikkerhed.
Så længe clientside fanger problemerne, skal den jo ikke "ind og vende
serveren" - men svigter clientside af en eller anden grund, så sker
der ikke noget sikkerhedsmæssigt ved det.

>Så skal
>det også tilbage til klienten igen i tilfælde af fejl. Det forekommer mig
>som et ret stort besvær at gå den lange vej, når det kan klares hurtigt,
>nemt og meget mere effektivt med et lille JavaScript.

Som andre har nævnt er det lidt risky business at lade sikkerheden
afhænge af clientside setup.

Dette er selvfølgelig nogle ret generelle og overordnede
betragtninger. Hvis konsekvensen af et sikkerhedsbrud er
gennemskuelige, kan man selvfølgelig vælge at ignorere noget af
risikoen ...

Mvh.
--
Jørn Andersen,
Brønshøj

Jens Gyldenkærne Cla~ (05-01-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 05-01-03 01:38

Thomas Voller skrev:

> De store browsere (IE, Mozilla, Netscape, Opera m.fl.)
> understøtter jo alle JavaScript.

Der er dog store forskelle i hvordan de understøtter det. Men langt
hen ad vejen kan man da klare sig ved at tjekke mod "de store"
browsere.

> Hvis brugeren selv har slået det fra, så er brugeren sikkert også
> så avanceret at han/hun godt ved det slår en del funktionalitet
> på en masse sider fra.

Det vil nok oftest være sådan. Men når man ved at der er brugere
der helst vil browse uden javascript, skal man så tage hensyn til
dem? (det er ikke et retorisk spørgsmål)

> Så vend den om... Hvorfor både validere på serveren OG
> client-side, hvis vi fastholder der er mulighed for "fejl"
> client-side? Så burde det jo være nok at validere server-side?

Hvis man kun ser på sikkerheden i valideringen kan man også sagtens
nøjes med serversidevalidering. Men serversidevalidering er til
gengæld problematisk for brugeren - det tager længere tid (siden
kan loades igen) og indtastede data forsvinder ved
serversidevalidering (kan omgås, men det er langt lettere at
håndtere clientside). Endelig giver serversidevalidering (uden
forudgående clientsidevalidering) også et ekstra load på serveren.

> Redundans er ikke altid godt.

Nej - og jeg ville nok heller ikke lave præcis samme validering
serverside og clientside. Men som minimum må man sikre en side mod
kørselsfejl på grund af manglende eller forkerte data.

> Det jeg ikke bryder mig om ved serverside validering i f.eks.
> ASP er at man hele tiden skal have alt ind og vende serveren
> (well, duuuh... . Så skal det også tilbage til klienten
> igen i tilfælde af fejl. Det forekommer mig som et ret stort
> besvær at gå den lange vej, når det kan klares hurtigt, nemt
> og meget mere effektivt med et lille JavaScript.

Præcis - og derfor vil jeg aldrig anbefale at man alene validerer
serverside. Jeg mener blot at man bør sikre sig mod formdata der af
den ene eller anden grund er sluppet uden om
javascriptvalideringen.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jesper Stocholm (05-01-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 05-01-03 11:05

Jens Gyldenkærne Clausen wrote :

> Thomas Voller skrev:
>
>> De store browsere (IE, Mozilla, Netscape, Opera m.fl.)
>> understøtter jo alle JavaScript.
>
> Der er dog store forskelle i hvordan de understøtter det. Men langt
> hen ad vejen kan man da klare sig ved at tjekke mod "de store"
> browsere.
>
>> Hvis brugeren selv har slået det fra, så er brugeren sikkert også
>> så avanceret at han/hun godt ved det slår en del funktionalitet
>> på en masse sider fra.
>
> Det vil nok oftest være sådan. Men når man ved at der er brugere
> der helst vil browse uden javascript, skal man så tage hensyn til
> dem? (det er ikke et retorisk spørgsmål)

Jeg ser det normalt på følgende måde: Javascript-validering er
udelukkende til forbedring af brugerens oplevelse med sitet, da det ikke
kræver en tur omkring serveren for at returnere et svar. Serverside-
validering er ALTID med - uanset hvad jeg checker. Dette skyldes at ikke
alene findes der brugere derude, der slår scripting fra - det gør jeg fx
selv i perioder, hvor jeg er blevet lidt for træt af popup-vinduer - der
findes også browsere derude, der ikke undertøtter det, og de skal vel
også kunne bruge sitet. Sidst, men måske vigtigst, så må sikkerhed aldrig
blive implementeret i clientside scripting - af den simple grund, at det
kan slås fra af onde brugere.

>> Det jeg ikke bryder mig om ved serverside validering i f.eks.
>> ASP er at man hele tiden skal have alt ind og vende serveren
>> (well, duuuh... . Så skal det også tilbage til klienten
>> igen i tilfælde af fejl. Det forekommer mig som et ret stort
>> besvær at gå den lange vej, når det kan klares hurtigt, nemt
>> og meget mere effektivt med et lille JavaScript.
>
> Præcis - og derfor vil jeg aldrig anbefale at man alene validerer
> serverside. Jeg mener blot at man bør sikre sig mod formdata der af
> den ene eller anden grund er sluppet uden om
> javascriptvalideringen.

Jeg har den grundholdning, at et site skal virke 100% (omend måske
langsommere), hvis scripting er slået fra. Jeg indlægger dog altid et
clientside-scriptinglag ovenpå, men det er udelukkende _til_hjælp_ for de
brugere, der anvender javascript. Hvis man af en eller anden årsag ikke
bruger scripting, så er sitet måske marginalt langsommere, man der er
ingen (vigtig) funktionalitet, der er afhængig af scripting.

--
Jesper Stocholm - http://stocholm.dk
if you are competing with the darknet, you must compete on the darknet's
own terms: that is convenience and low cost rather than additional
security. ( http://crypto.stanford.edu/DRM2002/darknet5.doc )

M@rk (05-01-2003)
Kommentar
Fra : M@rk


Dato : 05-01-03 15:30

Fri, 03 Jan 2003 22:19:42 +0100, berigede "M@rk"
<unknown@vosborg.invalid> dk.edb.internet.webdesign.serverside.asp
med:

>...........hvad gør man så?

Tusinde tak for alle jeres indspark!

Jeg har fået et par hints til løsninger, men må dog nok erkende, at
med mit asp-niveau, så skal jeg vist liiiiiiige gruble lidt over alle
disse informationer inden, at jeg kaster mig ud i en realisering


/Mark

--
M@rk, the unknown @ vosborg.dk - ICQ #6564215

"When the rythm-section ain't making it
- go for it your self" ~ Ben Webster

Thomas Voller (06-01-2003)
Kommentar
Fra : Thomas Voller


Dato : 06-01-03 14:58

> Jeg har fået et par hints til løsninger, men må dog nok erkende, at
> med mit asp-niveau, så skal jeg vist liiiiiiige gruble lidt over alle
> disse informationer inden, at jeg kaster mig ud i en realisering

Det behøves jo ikke at være så svært. Et fint lille JavaScript til at
validere om der er indtastet noget i et felt kan du finde her (client-side
validation):
http://activedeveloper.dk/artikler/default.asp?articleid=210

Hvis du også vil validere serverside, som der er generel enighed om er en
fiks ide kan du lave noget a la det her:
<%
'Laver en variabel og sætter indholdet til at være brugeres input fra
formen.
strBrugernavn = CStr(Trim(Replace(Request.Form("dit.form.felt"), "'",
"''")))
'Check om der er mindre end 5 tegn i din variabel.
If Len(strBrugernavn) < 5 Then
Response.Write("<p>Nej, du skal have et brugernavn på mindst 5
tegn</p>")
Else
'Insæt brugernavn i databasen eller hvad du nu ellers vil med det.
End If
%>


Held og lykke med det.

Mvh. Thomas.



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

Månedens bedste
Årets bedste
Sidste års bedste