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

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Validering og sikkerhed
Fra : Lars Olesen


Dato : 10-01-04 20:52

Er der nogen der har erfaringer med at lave en lidt mere struktureret
serverside-validering - i stedet blot for en ad hoc løsning, hvor man
skriver hele baduljen hver gang. Fx vha. klasser eller et
funktionsbibliotek.

Er det i øvrigt nok sikkerhedsmæssigt at lave addslashes og strip_tags
på alle elementer? Validering bør jo være positiv, så i stedet skal jeg
tillade nogle ting, men hvad skal man så tillade i et felt?

Hvordan sikrer I jer i øvrigt, at input-indholdet forbliver i
formularen, hvis man bliver nødt til at gå tilbage.

Har læst på phppatterns.com om formvalidering, men synes det må være
lidt overkill at starte en ny klasse for hver inputfelt!

--
Lars
www.fodboldenslegestue.dk   www.larsolesen.dk
www.discimport.dk      www.vih.dk


 
 
Jonas Delfs (11-01-2004)
Kommentar
Fra : Jonas Delfs


Dato : 11-01-04 13:28

"Lars Olesen" <lsolesen@hotmail.com> skrev i en meddelelse
news:4000578c$0$95054$edfadb0f@dread11.news.tele.dk...
> Er der nogen der har erfaringer med at lave en lidt mere struktureret
> serverside-validering - i stedet blot for en ad hoc løsning, hvor man
> skriver hele baduljen hver gang. Fx vha. klasser eller et
> funktionsbibliotek.
>
> Er det i øvrigt nok sikkerhedsmæssigt at lave addslashes og strip_tags
> på alle elementer? Validering bør jo være positiv, så i stedet skal jeg
> tillade nogle ting, men hvad skal man så tillade i et felt?
>
> Hvordan sikrer I jer i øvrigt, at input-indholdet forbliver i
> formularen, hvis man bliver nødt til at gå tilbage.
>
> Har læst på phppatterns.com om formvalidering, men synes det må være
> lidt overkill at starte en ny klasse for hver inputfelt!

Har skrevet en form-klasse som findes på http://delfs.dk/projects/Form/ som
jeg synes fungerer meget godt. Validerer clientside og serverside,
sidstnævnte med predefinerede regex, brugerdef. regex, eller andre felter.
Hver i øvrigt opmærksom på at form-struktur både kan gives som array til
constructor eller ved kald til addElement() etc.
Smider en version 0.5.1 op i den nærmeste fremtid.

--
Mvh. Jonas Delfs
Freelance webprogrammør: http://delfs.dk



Lars Olesen (11-01-2004)
Kommentar
Fra : Lars Olesen


Dato : 11-01-04 14:04

> Har skrevet en form-klasse som findes på http://delfs.dk/projects/Form/ som
> jeg synes fungerer meget godt.

Den ser smart ud, og den fungerer også.

Jeg har et par kommentarer, inden du laver den i 0.5.1

Dog synes jeg, at selv formularen ikke bør komme ud i en tabel, men i
nogle <div>s med <label>s på. Desuden bør der være mulighed for at lave
<fieldset>s og sætte <legend>s på dem.

> Validerer clientside og serverside,

Det synes jeg er smart. Jeg har dog set en rigtig god artikel om
JS-validering:

http://www.infimum.dk/HTML/validering.html

Det kan måske være en ide at tænke klassen lidt på samme måde, så man
kan angive nonEmpty og lignende, og man så selv kan lave nogle særlige
valideringsregler.

> Smider en version 0.5.1 op i den nærmeste fremtid.

Den glæder jeg mig til at se - og hvis du vil have noget respons på den,
når den er færdig eller under udarbejdelse, skal du være meget velkommen
på lars (at) legestue (dot) net.

--
Lars
www.fodboldenslegestue.dk   www.larsolesen.dk
www.discimport.dk      www.vih.dk


Lars Olesen (11-01-2004)
Kommentar
Fra : Lars Olesen


Dato : 11-01-04 14:09

> Smider en version 0.5.1 op i den nærmeste fremtid.

Endnu en kommentar. Måske skal klassen deles op i to, for den klasse du
har skrevet har mange ansvarsområder. Det ville jo være vakst om det var
lavet sådan:

class Form | ansvar at vide hvordan formularen ser ud
class FormXHtmlViewer | ansvar udskrive formularen i xhtml
class FormServersideValidering | ansvar at validere formularen serverside

Og så skrive den sidste klasse, så den ikke forlanger at man også har
lavet formularen med klassen, men man evt. kan kalde den med et array
eller noget lignende, lidt ligesom den javascript-type, jeg snakkede om
før.

Dog kan man i Form så have en validate(), som også bruger class
FormServersideValidering.

Så er tingene også bedre indkapslet, og hvis man fx skal skrive
formularen ud i et andet miljø, skal man bare skifte FormXHtmlVieweren
til noget andet.

--
Lars
www.fodboldenslegestue.dk   www.larsolesen.dk
www.discimport.dk      www.vih.dk


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

Månedens bedste
Årets bedste
Sidste års bedste