ing Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 Hei, vet ikke om jeg er i riktig forum nå men tar en sjanse. Jeg har problemer med sikkerhetsinstillingene i IE. Har en webside der en kan registrere seg som forskjellige ting. Siden er koden i vb.net og aspx. Når en bruker registrerer seg blir dataene sendt gjennom vb koden og til en mysql database. Brukeren ser bare aspx koden og javascript (som bare er brukt i menyen og har ingenting med registreringsprosessen å gjøre). Det som skjer er at på noen maskiner (inkludert min egen) så fungerer denne siden veldig fint. Men hos andre så får de ikke registrert seg fordi det kommer opp en feilmelding (som jeg selv har lagt inn i koden). Det er altså i sql spørringene eller koblingen der skjer noe muffins. etter mye grubling og fomling prøvde jeg å samkjøre mine IE sikkerhetsinstillinger med en maskin der siden ikke fungerte, og etterpå fungerte siden fint på begge maskiner. Prøvde det samme på to andre maskiner med samme resultat. Så jeg har altså funnet feilen. MEN det finnes veldig mange brukere der ute som bruker IE og jeg er ikke garantert at alle har de samme instillingene som meg. Jeg må altså finne en måte å få siden til å fungere for alle, ellers har siden min ingen formål. Instillingene jeg snakker om finnes under tools, internet options, security, custom level. Er det noen som vet hvorfor dette skjer, hva som kan være gale med koden min og hvordan jeg kan få dette fikset?? Litt fortvilet her jeg sitter..... Lenke til kommentar
Manfred Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 tror kanskje du bør slenge inn noe kodeeksempler på hva som feiler. Lenke til kommentar
ing Skrevet 18. oktober 2006 Forfatter Del Skrevet 18. oktober 2006 her er DAO koden for å registrere: Public Function leggTilFosterhjem(ByVal p As Person, ByVal f As Fosterhjem) As Integer Dim cmd As OdbcCommand Dim reader As OdbcDataReader Dim sp1 As String Dim sp2 As String Dim sp3 As String Dim sp4 As String Dim sp5 As String Dim sp6 As String Dim sp7 As String Dim sp8 As String Dim sp10 As String Dim sp11 As String Dim sp12 As String Dim fosterId As Integer Dim navnId As Integer Dim tall As Integer = 1 Try connection = New KobleTilDB con = connection.KobleTilDB() 'sjekk postnr og poststed sp4 = "SELECT Postnr, Poststed FROM Post WHERE Postnr = '" & p.pnr & "'" cmd = New OdbcCommand(sp4, con) cmd.ExecuteNonQuery() Dim nr As String = "" Dim sted As String = "" reader = cmd.ExecuteReader If reader.Read Then nr = reader.GetString(0) sted = reader.GetString(1).ToLower End If If (nr = p.pnr And sted = p.psted.ToLower) Then 'sjekk om person ligger inne fra før sp8 = "SELECT Fornavn, Etternavn, Adresse, Postnr, Tlf, Mob, Mail FROM Kontaktinfo " & _ "WHERE Fornavn = '" & p.fnavn.ToLower & "' " & _ "AND Etternavn = '" & p.enavn.ToLower & "' " & _ "AND Adresse = '" & p.adr.ToLower & "' " & _ "AND Postnr = '" & p.pnr & "' " & _ "AND Tlf = '" & p.tlf & "' " & _ "AND Mob = '" & p.mob & "' " & _ "AND Mail = '" & p.epost & "' " cmd = New OdbcCommand(sp8, con) cmd.ExecuteNonQuery() reader = cmd.ExecuteReader If reader.Read = False Then 'legg til kontaktperson dersom han ikke allerede finnes i databasen sp5 = "INSERT INTO Kontaktinfo (Fornavn, Etternavn, Adresse, Postnr, Tlf, Mob, Mail) VALUES('" & p.fnavn.ToLower & "', '" & p.enavn.ToLower & _ "', '" & p.adr.ToLower & "', '" & p.pnr.ToLower & "', '" & p.tlf & "', '" & p.mob & _ "', '" & p.epost & "')" cmd = New OdbcCommand(sp5, con) cmd.ExecuteNonQuery() End If 'hent ut navn-id for den personen som ble lagt til sp6 = "SELECT Navn_id FROM Kontaktinfo " & _ "WHERE Fornavn = '" & p.fnavn.ToLower & "'" & _ " AND Etternavn = '" & p.enavn.ToLower & "'" & _ " AND Adresse = '" & p.adr.ToLower & "'" & _ " AND Postnr = '" & p.pnr & "'" & _ " AND Tlf = '" & p.tlf & "'" & _ " AND Mob = '" & p.mob & "'" & _ " AND Mail = '" & p.epost & "' " cmd = New OdbcCommand(sp6, con) cmd.ExecuteNonQuery() reader = cmd.ExecuteReader If reader.Read Then If reader.IsDBNull(0) Then navnId = " " Else navnId = reader.GetInt32(0) End If End If 'legg til info i fosterperson tabellen sp1 = "INSERT INTO Fosterperson (Navn_id, Om_hjemmet, Erfaringer, Tidsbegrensning, Reise_vekk, Allergi, Bringe_til_veterinær, Hente_mat, Annet) VALUES('" & _ navnId & "', '" & f.hjem & "', '" & f.erfaring.ToLower & "', '" & f.tid.ToLower & "', '" & f.reise.ToLower & "', '" & f.allergi.ToLower & "', '" & f.hente.ToLower & _ "', '" & f.mat.ToLower & "', '" & f.annet.ToLower & "')" cmd = New OdbcCommand(sp1, con) cmd.ExecuteNonQuery() 'hent ut fosterhjemid sp2 = "SELECT Fosterhjem_id from Fosterperson " & _ "WHERE Om_hjemmet = '" & f.hjem.ToLower & "'" & _ "AND Erfaringer = '" & f.erfaring.ToLower & "'" & _ "AND Tidsbegrensning = '" & f.tid.ToLower & "'" & _ "AND Reise_vekk = '" & f.reise.ToLower & "'" & _ "AND Allergi = '" & f.allergi.ToLower & "'" & _ "AND Bringe_til_veterinær = '" & f.hente.ToLower & "'" & _ "AND Hente_mat = '" & f.mat.ToLower & "'" & _ "AND Annet = '" & f.annet.ToLower & "'" cmd = New OdbcCommand(sp2, con) cmd.ExecuteNonQuery() reader = cmd.ExecuteReader If reader.Read Then fosterId = reader.GetInt32(0) Else fosterId = 0 End If // her er det noe klikker tror jeg. På de maskinene som siden ikke fungerer på, går alt fint helt til dette punktet her. Finner informasjon i databasen som tilsier at spørringene over blir utført, men ikke de under. If fosterId = 0 Then tall = 2 Else 'legg til info i fosterkatt tabell sp3 = "INSERT INTO Fkatt (Fosterhjem_id, En, ToKatt, Sosial, Gravid, Akutt) VALUES('" & fosterId & _ "', '" & f.kattKunEn.ToLower & "', '" & f.kattGjerneTo.ToLower & "', '" & f.kattSosial.ToLower & _ "', '" & f.kattgravid.ToLower & "', '" & f.kattAkutt.ToLower & "')" cmd = New OdbcCommand(sp3, con) cmd.ExecuteNonQuery() 'legg til info i fosterhund tabell sp4 = "INSERT INTO Fhund (Fosterhjem_id, Liten, Middel, Stor) VALUES('" & fosterId & _ "', '" & f.hundLiten.ToLower & "', '" & f.hundMiddels.ToLower & "', '" & f.hundStor.ToLower & "')" cmd = New OdbcCommand(sp4, con) cmd.ExecuteNonQuery() 'legg til info i fosterkanin tabell sp7 = "INSERT INTO Fkanin (Fosterhjem_id, Inne, Ute, Begge) VALUES('" & fosterId & _ "', '" & f.kaninInne.ToLower & "', '" & f.kaninUte.ToLower & "', '" & f.kaninBegge.ToLower & "')" cmd = New OdbcCommand(sp7, con) cmd.ExecuteNonQuery() 'legg til info i fostersmådyr tabell sp10 = "INSERT INTO Fsmådyr (Fosterhjem_id, marsvin, chinchilla, andre)VALUES ('" & fosterId & _ "', '" & f.marsvin.ToLower & "', '" & f.chinchilla.ToLower & "', '" & f.andre.ToLower & "')" cmd = New OdbcCommand(sp10, con) cmd.ExecuteNonQuery() 'legg til info i fosteravtale tabell sp11 = "INSERT INTO Favtale (Fosterhjem_id, Trenger, Har, Få, Kjøpe, Egenmat)VALUES ('" & fosterId & _ "', '" & f.grunnpakke.ToLower & "', '" & f.harGrunnpakke.ToLower & "', '" & f.matGratis.ToLower & _ "', '" & f.spesial & "', '" & f.egneDyr.ToLower & "')" cmd = New OdbcCommand(sp11, con) cmd.ExecuteNonQuery() 'legg til info i fosterfugl tabell sp12 = "INSERT INTO Ffugl (Fosterhjem_id, Villfugl, Tamfugl) VALUES ('" & fosterId & _ "', '" & f.villfugl & "', '" & f.tamfugl & "')" cmd = New OdbcCommand(sp12, con) cmd.ExecuteNonQuery() End If Else tall = 4 End If Catch oex As OdbcException tall = 2 //dette er statusmeldinger som blir satt i pageLoad på neste side Catch ex As Exception tall = 3 Finally If Not reader Is Nothing AndAlso Not reader.IsClosed Then reader.Close() End If If Not con Is Nothing Then con.Close() End If End Try Return tall End Function Lenke til kommentar
j000rn Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 (endret) 1 Det heter ADO, ikke DAO. Jeg leste for litt siden en CV hvor personen skrev DAO (flere steder, så det var ikke en skrivefeil). Den gikk rett i søpla uten å bli videre vurdert... 2 Ikke deklarer variabler på toppen av funksjonen hvis de ikke skal være "globale for funksjonen". F.eks. spX. Dim sp4 as String sp4 = "SELECT Postnr, Poststed FROM Post WHERE Postnr = '" & p.pnr & "'" cmd = New OdbcCommand(sp4, con) Kan du enkelt kutte ned til 1 linje og slippe å deklare sp4 ved: cmd = New OdbcCommand("SELECT Postnr, Poststed FROM Post WHERE Postnr = '" & p.pnr & "'", con) (ja, det kan være greit å deklarere en variable for større spørringer) 3 Navn på variabler. Hva er Tall? Nr? spX? Det er greit for temporære variabler som brukes under et lite scope. Men Tall er jo global funksjonsvariabel og navnet sier meg ingenting... 4 Nesting av IF setninger... If fosterId = 0 Then tall = 2 Else ' MASSE LINJER MED KODE End If Return tall Bør heller skrives som: If fosterId = 0 Then Return 2 End If ' MASSE LINJER MED KODE Da har man både fjernet et nivå med IF. Og man trenger heller ikke "Tall". Det gjør koden så uendelig mye mer lesbar! 5 Bruk ALLTID ("alltid" gjelder ikke for viderekommende) Using når du bruker SqlConnection/ODBCConnection og SqlDataReader/ODBCDataReader. 6 Dette kan vel diskuteres, men jeg får alltid vondt i magen av norske tabell/kolonne-navn i databasen og funksjonsnavn. Særlig når de inneholder ÆØÅ... 7 Java bruker liten forbokstav i funksjoner. Dette gjør man ikke i .Net. I tillegg er "p" og "f" dårlige navn på parametere. Skriv dem fullt ut. F.eks: Public Function LeggTilFosterhjem(ByVal person As Person, ByVal fosterhjem As Fosterhjem) As Integer 8 Er det noen (god) grunn til at alt lagres med små bokstaver i databasen? 9 'hent ut fosterhjemid sp2 = "SELECT Fosterhjem_id from Fosterperson " & _ "WHERE Om_hjemmet = '" & f.hjem.ToLower & "'" & _ .... "AND Annet = '" & f.annet.ToLower & "'" Burde ikke heller FosterHjem klassen inneholde variabelen FosterHjemID slik at du slipper en så hårete sql spørring for å hente denne ut hver gang? Dette gjelder også for Person. Når det gjelder problemet ditt så tror jeg ikke det er på grunn av VB.Net koden. Jeg ville heller satset på at det er javascript eller noe i html'n din som gjør at brukeren ikke blir vist det han skal....? Det kan også lønne seg å prøve å debug'e koden og step'e igjennom for å se hva som skjer. Men uansett så hadde jeg personlig ikke orket å feilsjekke dette før koden faktisk var litt mer ryddig og lesbar... Beklager hvis det var mye negativt her, men håper du tar det til deg på en positiv måte. Dette er jo den eneste måten man lærer på Lykke til videre! Endret 18. oktober 2006 av jorn79 Lenke til kommentar
Manfred Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 Må nesten henge meg på det jorn sier om variabler. Hvorfor det defineres så mange stringer for små spørringer, når dette kan gjøres direkte. En annen ting er at skal man ha 12 spørringer i hver sin string ville det vært mye mindre grisete å opprette en array av stringer. i C#: string[] query = new string[12]; Er det også bare jeg som reagerer på denne? connection = New KobleTilDB con = connection.KobleTilDB() Hva i all verden er den "KobleTilDB"-klassen? og hvorfor kalles en construcctor-type manuelt etter opprettelsen? Jeg personlig synes dette var virkelig hårete. Lenke til kommentar
j000rn Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 Må nesten henge meg på det jorn sier om variabler. Hvorfor det defineres så mange stringer for små spørringer, når dette kan gjøres direkte. En annen ting er at skal man ha 12 spørringer i hver sin string ville det vært mye mindre grisete å opprette en array av stringer. i C#: string[] query = new string[12]; Er det også bare jeg som reagerer på denne? connection = New KobleTilDB con = connection.KobleTilDB() Hva i all verden er den "KobleTilDB"-klassen? og hvorfor kalles en construcctor-type manuelt etter opprettelsen? Jeg personlig synes dette var virkelig hårete. 7097640[/snapback] Jeg tror kanskje VB.Net lar deg ha funksjoner som har samme navn som klassen... Uansett ville jeg nok lagd den static (shared i VB.Net) slik at man ikke trengt å opprette et objekt. connection = New KobleTilDB con = connection.KobleTilDB() til: con = KobleTilDB.Connect() eller på engelsk Dim con AS SqlConnection = Database.RetrieveConnection() ' ellerno... Fant en ting til: 11 con ser ut til å være en global klassevariabel. Denne bør heller defineres i funksjonen. I .Net har man connection-pooling, og bør derfor aldri spare på verken connections eller variablene disse ligger i. Det beste er å åpne så sent som mulig, og lukke så tidlig som mulig. Lenke til kommentar
ing Skrevet 18. oktober 2006 Forfatter Del Skrevet 18. oktober 2006 (endret) Først vil jeg bare si at på skolen har vi lært at det heter DAO klasser (data acccess object). Grunnen til at det er så mange variabler for sql spørringene er for min egen oversiktlighet. Er en enkel oppgave å korte de ned til en, men for min egen del vil jeg ha det slik når jeg jobber med koden. KobleTilDB er en egen klasse som tar seg av oppkoblingen til databasen, og for å få dette til å fungere må jeg deklarere et connection objekt i dao(!) klassen. Dette er også slik vi har lært å gjøre det på skolen. ellers skal jeg ta resten av kommentarene til ettertanke, og videre bruk. Derimot fungerer denne koden, og det er liksom det som er første prioritet. Fungere først, å perfeksjonere etterpå. Så jeg vil gjerne få dette til å fungere for alle maskiner i første omgang. Er det noen som kan hjelpe meg med dette? Skjønner ikke hvorfor sikkerhetsinstillingene skal ha så mye å si. Javascript blir kun brukt i menyen og fungere fint på alle andre sider med informasjon. Dette har altså ingenting å si for hvorfor dette skjer. Har prøvd debug og alt mulig nesten, men finner ingenting. og som sagt så fungerer dette veldig fint på min maskin, og egentli alle andre brukere som har litt peiling på data. Rart med det der. Så det som skjer med de som siden ikke fungerer for er at de får lastet siden helt frem. de fyller ut informasjonen som er nødvendig i korrekt format, og klikker på send inn knappen. Koden som jeg limte inn får likevel ikke lagt inn mer enn de spørringene som ligger overfor den der du henter ut forterhjemid. Den klarer ikke å hente ut denne id'en og dermed slår feilmeldingen under tall = 2 (som er feilmelding nr 2) inn...vet ikke hvor bra forklart dette er, men det er vertfall en veldig frustrerende feil! Ellers, takk for gode hint og kommenterer angående koden min =) Endret 18. oktober 2006 av ing Lenke til kommentar
j000rn Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 "Når det gjelder problemet ditt så tror jeg ikke det er på grunn av VB.Net koden. Jeg ville heller satset på at det er javascript eller noe i html'n din som gjør at brukeren ikke blir vist det han skal....? Det kan også lønne seg å prøve å debug'e koden og step'e igjennom for å se hva som skjer. " Det er teknisk umulig at sikkehetsinstillingene på IE har noen som helst innvirkning på ASP.Net koden din. En mulighet er at ASP.Net siden ikke får alle "parameterene" fra html siden tilbake. Men i koden du viste er det ingen steder hvor du bruker data fra browseren. Hvis du har en url til hvor denne ligger på internett så kan jeg sikkert teste og finne ut hva som IE ser på som en "sikkerhetsrisiko". Lenke til kommentar
ing Skrevet 18. oktober 2006 Forfatter Del Skrevet 18. oktober 2006 "Når det gjelder problemet ditt så tror jeg ikke det er på grunn av VB.Net koden. Jeg ville heller satset på at det er javascript eller noe i html'n din som gjør at brukeren ikke blir vist det han skal....? Det kan også lønne seg å prøve å debug'e koden og step'e igjennom for å se hva som skjer. " Det er teknisk umulig at sikkehetsinstillingene på IE har noen som helst innvirkning på ASP.Net koden din. En mulighet er at ASP.Net siden ikke får alle "parameterene" fra html siden tilbake. Men i koden du viste er det ingen steder hvor du bruker data fra browseren. Hvis du har en url til hvor denne ligger på internett så kan jeg sikkert teste og finne ut hva som IE ser på som en "sikkerhetsrisiko". 7099956[/snapback] her er en link: http://www.dyrebeskyttelsenhordaland.org/l...Fosterhjem.aspx jeg har lagdeling på applikasjonen min så i applikasjonslaget blir verdiene hentet ut fra siden og lagt i et object og sendt videre nedover i lagene. 'hent ut person Dim fornavn As String = txtNavn.Text.ToLower Dim etternavn As String = txtEnavn.Text.ToLower Dim adresse As String = txtAdresse.Text.ToLower Dim pnr As String = txtPostnr.Text Dim psted As String = txtPoststed.Text.ToLower Dim tlf As Integer = Convert.ToInt32(txtTlf.Text) Dim mob As Integer = Convert.ToInt32(txtMob.Text) Dim mail As String = txtMail.Text Dim p As New Person(fornavn, etternavn, adresse, pnr, psted, tlf, mob, mail) her er en liten kodesnutt for hvordan dette foregår. Det er et stort usecase dette så limer bare inn litt av denne koden. Lenke til kommentar
j000rn Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 Ser du bruker valideringskontrollene. Har du husket å også validere serverside? Hvis ikke kan det hende de som har testet for deg ikke har skrevet inn gyldig data, og derfor funksjonen din "kræsjer" når det skal inn i databasen... Valideringskontrollene bruker javascript for å validere clientside. Og i en streng IE vil disse ikke bli kjørt. Lenke til kommentar
ing Skrevet 18. oktober 2006 Forfatter Del Skrevet 18. oktober 2006 Skjønner hva du mener, men har testet med akkurat samme verdiene. Satt ved siden av hverandre og tastet inn akkurat det samme. Og dette var verdier som er godkjente.. Jeg har tenkt litt i samme retning, men har ikke så mye kunnskaper om dette her. Men det som er merkelig er at den stopper akkurat etter at den har hentet du fosterhjemid, og tester på om den har en virkelig verdi eller om den er null...for dersom den er null, har ikke spørringen fungert slik den skulle...men det gjør den på en maskin der siden fungerer. Da er allerede dataen det blir testet på lagt inn i databasen, så da burde det ikke være noen problemer med disse. :S Lenke til kommentar
j000rn Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 Som jeg tenkte så sjekket det ikke serverside. Testet nå med å legge inn KUN mobil og telefon, og trykket på "Send søknad". Da fikk jeg ikke noe feilmelding og beskjed om at "Du er nå lagt inn som fosterhjem, og vil bli kontaktet av oss.". Før du prøver å legge inn noe i databasen: Page.Validate() If Page.IsValid = False Then ' Vi feilbeskjed Return End If Lenke til kommentar
j000rn Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 Som jeg tenkte så sjekket det ikke serverside. Testet nå med å legge inn KUN mobil og telefon, og trykket på "Send søknad". Da fikk jeg ikke noe feilmelding og beskjed om at "Du er nå lagt inn som fosterhjem, og vil bli kontaktet av oss.". Før du prøver å legge inn noe i databasen: Page.Validate() If Page.IsValid = False Then ' Vi feilbeskjed Return End If 7100293[/snapback] Etter at jeg la meg til med kun mobil og telefon fikk jeg denne url'n: LeggTilFosterhjem.aspx?ID=1 Det stemmer vel ikke, siden jeg fikk ID 4 isted? Hvis ikke du har tømt databasen i mellomtiden da? Lenke til kommentar
ing Skrevet 18. oktober 2006 Forfatter Del Skrevet 18. oktober 2006 Det skal jeg fikse ja =) Men når de prøver så får de feilmelding, å ikke at de er lagt inn i databasen. Jeg har logget inn på applikasjonen og sett at du blir listet opp der, og det blir ikke de som siden ikke fungerer for. Tror du det kan være samme feil for det? eg har mine tvil, men skal garantert få fikset det du har påpekt til nå =) Lenke til kommentar
ing Skrevet 18. oktober 2006 Forfatter Del Skrevet 18. oktober 2006 Som jeg tenkte så sjekket det ikke serverside. Testet nå med å legge inn KUN mobil og telefon, og trykket på "Send søknad". Da fikk jeg ikke noe feilmelding og beskjed om at "Du er nå lagt inn som fosterhjem, og vil bli kontaktet av oss.". Før du prøver å legge inn noe i databasen: Page.Validate() If Page.IsValid = False Then ' Vi feilbeskjed Return End If 7100293[/snapback] Etter at jeg la meg til med kun mobil og telefon fikk jeg denne url'n: LeggTilFosterhjem.aspx?ID=1 Det stemmer vel ikke, siden jeg fikk ID 4 isted? Hvis ikke du har tømt databasen i mellomtiden da? 7100311[/snapback] id 4 skal komme dersom postnummer og poststed ikke stemmer overens. Postnummer som blir tastet inn blir sjekket opp mot en post tabell som inneholder postnummer og poststed. Så disse MÅ fylles ut korrekt. altså riktig postnummer til riktig poststed.. Så det var merkelig at du fikk id 4 og meldingen til id 1 :s Lenke til kommentar
j000rn Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 Tja... da er jeg jommen ikke sikker. Det jeg ville gjordt var å skru av testingen du gjør. Og heller throw'e vanlige exceptions. Og sørge for at de blir vist slik at det er enklere å teste. Og også prøve å skru på sikkerhetsinstillingene i IE'n din. Og så kjøre en vanlig debug og step'e igjennom for å se hva som skjer. Lenke til kommentar
ing Skrevet 18. oktober 2006 Forfatter Del Skrevet 18. oktober 2006 har tenkt på det, men tenkte jeg skulle høre her først, siden det er så utrolig mange valgmuligheter å velge mellom på instillngen, å jeg husker ikke hvilken det var som gjorde utslaget. :s jeg får vel bare ta fingrene fatt... :s uansett, takk for hjelpen =) Lenke til kommentar
j000rn Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 Når vi først er inne på forbedringer så har jeg en til som er ganske viktig: Koden din er full av sikkerhetshull av typen SQL injection attack. Dette gjør at det er veldig enkelt å endre eller slette data i databasen din. I tillegg gjør det også mye lettere å ta over hele serveren. String verdier må fikses slik at de ikke inneholder ' tegnet. Evt. bytte ut 1 stk ' tegn med 2 stk ''. "INSERT INTO noe (navn) VALUES('" & person.Navn.Replace("'","''") & "')" Ellers ser det ut til at du har vært flink å sjekke Integer verdier med å bruke Int.Parse Lenke til kommentar
ing Skrevet 18. oktober 2006 Forfatter Del Skrevet 18. oktober 2006 Når vi først er inne på forbedringer så har jeg en til som er ganske viktig: Koden din er full av sikkerhetshull av typen SQL injection attack. Dette gjør at det er veldig enkelt å endre eller slette data i databasen din. I tillegg gjør det også mye lettere å ta over hele serveren. String verdier må fikses slik at de ikke inneholder ' tegnet. Evt. bytte ut 1 stk ' tegn med 2 stk ''. "INSERT INTO noe (navn) VALUES('" & person.Navn.Replace("'","''") & "')" Ellers ser det ut til at du har vært flink å sjekke Integer verdier med å bruke Int.Parse 7100642[/snapback] dette har vert et problem også, men så langt ned på listen min har jeg ikke kommet enda. har brukt ganske lang tid på å prøve å få dette fikset...men skal så absolutt gjøre disse forbedringene, å det er bare å komme med flere tips om du har =) Lenke til kommentar
j000rn Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 Sikkerhetshulet ville jeg satt ganske langt opp på listen. Er jo ikke noe moro om alle små pusene plutselig blir bytta ut med bilder av små lettkledde jenter Ellers tror jeg det viktigste tipset når det gjelder lesbarhet og ryddighet i koden er å ikke neste så mange IF setninger, men heller bruke Return midt inne i funksjonen isteden. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå