02. december 2008 - 11:53Der er
11 kommentarer og 1 løsning
Hente id ud fra titlen/linket (?Id=xx)
God formiddag..
Situationen er den at jeg har lavet en slags nyhedssystem, hvor jeg udskriver alle nyhedernes overskrifter med et tilhørene link fra databasen.. Hver nyhed har så adressen "nyhed_display.aspx?Id=xx".. Dvs. hvis du trykker på nyheden med id nr. 17, så kommer man ind på "nyhed_display.aspx?Id=17".. Dette fungerer også som det skal.
Problemet ligger i at jeg så gerne vil have den til at hente nyheden med det pågældende Id på den side som man kommer til, men ikke ved hvordan jeg gør dette, hvis jeg ikke ønsker at bruge de indbyggede datalist/griedview funktioner..
Jeg ved at man i php kan lave en sql streng med følgende: ("SELECT * FROM news WHERE id=".$_GET['id']."")
Men dette fungerer ikke i asp.net har jeg erfaret :) Så hvordan gør jeg det?
Hvis det er nødvendigt med codebehind eksemplet skriver i bare..
d0t's eksempel virker som det skal, så tak for det ;)
Men hvad menes der med stored procedure/inputvalidering?
Jeg går lidt ud fra at det er en forespørgsel, hvor man vha. en simpel if sætning checker om Id er sat og hvis det ikke er tilfældet, så lukker igen for sql forbindelsen så den ikke kommer med en fejlmeddelelse eller lign..?
Ville det rent faktisk virke så? For så kan jeg da godt se at det er lidt riski :S
I så fald, hvordan ville jeg kunne gå ind og forhindre det? Kan se at der på wikipedia bliver anbefalet at special tegn filtres fra, men hvordan gør jeg lige det i mit "simple" tilfælde?
Hvis du ikke gider at svare på det er det også fair nok, da det er et tillægsspørgsmål ;) Har i hvert fald givet dig de fortjente points nu..
Strengt taget er det parameter der gør forskellen.
Man kan kalde SP som dynamisk SQL og så har man samme risiko for SQL injection som ved normal dynamisk SQL.
I praksis bruger man dog altid parametre med SP.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.