12. juli 2003 - 13:36Der er
24 kommentarer og 1 løsning
CHMOD for min ASP-database
Hey - jeg er temmelig ny hvad angår ASP og skal have lavet et USER LOGIN SITE og har uploaded et free script og lagt det ud på www.nanaza.com/asp-test .
Første asp-side loader som det skal, men jeg kan ikke komme videre med de sider, der - så vidt jeg kan se - har forbindelse med min siteusers-database.
Jeg gætter mig til, at den er sat med forkerte rettigheder CHMOD, så man ikke kan skrive til den - men jeg kan ikke finde frem til HVAD den skal stå til?
Jeg har prøvet mig lidt frem, søgt nettet og div. message-boards...
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
fortæl lidt om hvad der sker af fejl etc - det eneste der _burde_ kunne være problemer med i en access er hvis selve database-filen er skrivebeskyttet (højreklik for at ændre det) eller hvis databasen ligger i en mappe ud skriverettigheder (i så fald skal den flyttes til en bestemt given mappe bestemt af webhotellet)
Jeg tog din oprindelige tekst og kopierede den direkte ind i notepad - uden at tilføje "<%" ">" i henholdsvis starten og slutningen.... Altså denne tekst:
/asp-test/signin.asp, line 28 .......................................................................
signin.asp ser sådan ud:
....................................................................... <% Option Explicit Dim sql,rsUser,username,password,page,stayloggedin,LConnectString,lconn,sqlflag
'Grab the submitted variables (page is the page they've come from, set by the hidden variable at the login box) username = Request.Form("username") password = Request.Form("password") page = Request.Form("page") stayloggedin = Request.Form("stayloggedin")
if page = "" then page = "index.asp" end if
'Check no s**t is trying to hack in using SQL commands if InStr(username, "'") or InStr(username, """") or InStr(username, "=") or InStr(password, "'") or InStr(password, """") or InStr(password, "=") then sqlflag = True end if
'Get a recordset corresponding to the submitted username and password sql = "SELECT username FROM users WHERE username = '" & username & "' AND password = '" & password & "'" Set rsUser = Server.CreateObject("ADODB.Recordset") rsUser.Open sql, conn, 3, 3
'If there was a valid recordset there, then send them back to the page they came from, with the username cookie set If (not rsUser.BOF) and (not rsUser.EOF) and sqlflag <> True then Response.Cookies("username") = rsUser("username") 'If the user wants to stay logged in all the time, then we'll set the cookie with a far-away expiry date if stayloggedin = "yes" then Response.Cookies("username").expires = #1/1/2010# end if rsUser.close set rsUser = nothing conn.close set conn = nothing Response.Redirect(page) end if
'Otherwise, display an invalid entry screen rsUser.close set rsUser = nothing conn.close set conn = nothing%>
skriv: Response.Write ConnectString så kan vi se hvad er stien til DB. jeg tror det er en sikkerheds spørgsmål, som keysersoze sagde tidligere, fleste host/web-hoteler giver en bestemt mappe hvor man skal placere Db'en i den, af hensyn til sikkerhed.
Jeg hoster hos B-one.net, som tilbyder asp, MEN IKKE Microsoft Access...
Den side, jeg arbejder på skal lægges ud på en anden side, så inden jeg dropper det hele - og går igang med at lære MySQL, så tjekker jeg lige, om der tilbydes ASP Microsoft Access på dén host...
Tak for hjælpen..... og værs'go
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.