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.
Slettet bruger
29. april 2002 - 19:50#1
du kan jo lave det sådan at efter login sendes di til en side du kalder privat.asp
denne kan du så bede om bruger_id på som så henter de infos der skal være på den side...
Med dette script kan du lave en simpel password beskyttelse.
Systemet er meget simpelt, og fungerer på den måde at brugerens username og password sammensat giver navnet på den fil, som brugeren bliver ført til. Det vil f.eks. sige at en bruger med følgende username og password:
Username: ph5 Password: lampe
Bliver ført til filen ph5lampe.htm
Systemets sikkerhed bygger således på at man kun kan få adgang til filen ved at gætte navnet. Hvis du synes mit eksempel var for simpelt kan du bare give dine brugere passwords som "L87bcTsa" - så bliver filnavnene blot mere komplicerede. Systemet er langt fra ligeså sikkert som en serverside løsning, men det kan sagtens bruges i en del mindre krævende situationer.
Vis som eksempel <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da"> <head> <title>Skærmopløsning og størrelse på browservinduet</title> </head> <body>
<script type="text/javascript"> <!-- Start
function CheckPassword() { var username=document.login.username.value; var password=document.login.password.value; location.href = username + password+'.htm'; }
Øh, ikke helt forstået. Det jeg gerne vil lave, er et login-system, hvor 4 brugere bliver sendt til hver sin side, hvor de kan tilføje, slette og opdatere data i en tabel. Jeg vil jo gerne undgå, at andre kan komme ind og ændre i databasen.
det kan de jo heller ikke hvis den side der hedder privat.asp som du sender brugerenm til EFTER login bruger ders login in data til at se hvilken infos der skal være på den side
eks:
bruger et
bruger_id = 1
sendes til privat.asp?id=1
bruger_id = 2
sendes til privat.asp?id=1
derved kan man kun komme til siden via sin profil, og eller hvis man kan hacke sig til en anden brugers kode... men det vil jo være muligt i alle tilfælde
Næ, det er fint med et script, hvor password bliver tildelt af mig, forstået på den måde, at det ikke er nødvendigt, at brugeren selv kan oprette et login. Det var det, du spurgte om, ikke?
<% ' bruges til at tjekke om brugeren finde i db ved login ' Sender resultaterne fra tilføj links til databasen ' Database connection Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("/koder/asp/forum/forum.mdb")
strUsername = Trim(Replace(Request.Form("navn"),"'","")) strPassword = Trim(Replace(Request.Form("password"),"'","")) strSQL ="SELECT * FROM bruger WHERE UCase(navn) = '" & UCase(strUsername) & "' AND UCase(Password) = '" & UCase(strPassword) & "'" set rs = conn.execute(strSQL) 'først tjekke om brugeren findes ved at tjekke om recordsetet er tomt. if not rs.EOF then if LCase(rs("navn")) = LCase(strUsername) then 'LOGIN OK session("brugernavn") = LCase(strUsername) Response.Redirect("index.asp?id=("navn")") else 'INGEN BRUGER FUNDET 'Eller en blev fundet men databasen bruger navn passer ikke med det 'indtastede brugernavn end if else 'brugeren ikke fundet lave det som skal ske hvis brugeren ikke er fundet her %>
skal rettes til Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("din db sti.mdb
Synes godt om
Slettet bruger
29. april 2002 - 20:29#16
så skal vi have lavet brugersiden=index.asp
' Hent fra databasen afhængig af værdien id fra URL strSQL = "Select * From tråd Where Id = " & Request.Querystring("id") Set rs = Conn.Execute(strSQL)
skal indsættes unde din db funktion og så giver du ellers bare de indputs der er behov for at hente
skal lige siges i din db (for at bruge dette eksempel) skal du have en tabel med navnet bruger
og i denne skal der være følgende: id = autonummerering navn = brugernavn Password = max 8 cifret password
Ja, det tror jeg nok. Har i hvert fald styr på min db-forbindelse, som jeg har kæmpet længe med. Jeg bruger en DSN og ikke en DSN-less, men det ved jeg godt hvordan jeg skal klare. Har desværre ikke tid til at teste det før i morgen sidst på eftermiddagen. Gider du kigge forbi i morgen?
Synes godt om
Slettet bruger
29. april 2002 - 20:39#19
uha... skal da prøve... men sidder og skriver projekt. men skal da nok lige kigge forbi, hvad tid regner du med ?
<body> <% ' bruges til at tjekke om brugeren finde i db ved login ' Sender resultaterne fra tilføj links til databasen ' Database connection ' Skaber DSN forbindelse til DBen Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DSN=riishojwebsoftdkdsn"
strUsername = Trim(Replace(Request.Form("username"),"'","")) strPassword = Trim(Replace(Request.Form("password"),"'","")) strSQL ="SELECT * FROM forhandler WHERE UCase(navn) = '" & UCase(strUsername) & "' AND UCase(Password) = '" & UCase(strPassword) & "'" set rs = conn.execute(strSQL) 'først tjekke om brugeren findes ved at tjekke om recordsetet er tomt. if not rs.EOF then if LCase(rs("username")) = LCase(strUsername) then 'LOGIN OK session("brugernavn") = LCase(strUsername) Response.Redirect("index.asp?id=('username')") else 'INGEN BRUGER FUNDET 'Eller en blev fundet men databasen bruger navn passer ikke med det 'indtastede brugernavn end if else 'brugeren ikke fundet lave det som skal ske hvis brugeren ikke er fundet her end if myConn.Close Set myConn = Nothing
' Skaber DSN forbindelse til DBen Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DSN=riishojwebsoftdkdsn"
' Hent fra databasen afhængig af værdien id fra URL strSQL = "Select * From tråd Where Id = " & Request.Querystring("id") Set rs = Conn.Execute(strSQL) ' Rydder op efter os myConn.Close Set myConn = Nothing %>
</body>
</html>
Jeg får følgende fejlmeddelelse, når jeg logger på!
Hej questis. Er du med endnu? Hvis ikke, så giv lige et prej.
Synes godt om
Slettet bruger
30. april 2002 - 22:17#24
heg riishoj.... undskyld jeg ikke har svaret, men er lidt stresset over mit projekt, prøver at se på det i morgen, så der ligger noget info til dig til i morgen håber det er i orden, men mit projekt skal afleveres i morgen klokken 8 hvis du forstår
Selvfølgelig. Det var ikke for at presse dig, so just take your time. Ville bare lige vide, om du var med endnu. Jeg har mistanke om, at min db på serveren ikke fungerer optimalt, så det vil jeg lige checke med min udbyder i morgen. Held og lykke med projektet!!!
Synes godt om
Slettet bruger
01. maj 2002 - 20:32#26
hej riishoj.... har du fundet ud af noget evt. nogle nye fejl ?
Har det nogen betydning for funktionen? Som du kan se har jeg ændret "navn" til "username" i dit script. Grunden til at jeg har en kolonne, der hedder "navn" er at tabellen også skal kunne bruges til andet.
Synes godt om
Slettet bruger
01. maj 2002 - 21:31#38
strSQL ="SELECT * FROM forhandler WHERE UCase(navn) = '" & UCase(strUsername) & "' AND UCase(Password) = '" & UCase(strPassword) & "'"
så skal du jo også ændre den hele vejen igennem, så der kommer til at stå istedet:
strSQL ="SELECT * FROM forhandler WHERE UCase(username) = '" & UCase(strUsername) & "' AND UCase(Password) = '" & UCase(strPassword) & "'"
<body> <% ' bruges til at tjekke om brugeren finde i db ved login ' Sender resultaterne fra tilføj links til databasen ' Database connection ' Skaber DSN forbindelse til DBen Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DSN=riishojwebsoftdkdsn"
strUsername = Trim(Replace(Request.Form("username"),"'","")) strPassword = Trim(Replace(Request.Form("password"),"'","")) strSQL ="SELECT * FROM forhandler WHERE UCase(username) = '" & UCase(strUsername) & "' AND UCase(Password) = '" & UCase(strPassword) & "'" set rs = conn.execute(strSQL) 'først tjekke om brugeren findes ved at tjekke om recordsetet er tomt. if not rs.EOF then if LCase(rs("username")) = LCase(strUsername) then 'LOGIN OK session("brugernavn") = LCase(strUsername) Response.Redirect("index.asp") else 'INGEN BRUGER FUNDET 'Eller en blev fundet men databasen bruger navn passer ikke med det 'indtastede brugernavn end if else 'brugeren ikke fundet lave det som skal ske hvis brugeren ikke er fundet her end if myConn.Close Set myConn = Nothing
%>
</body>
</html>
Er denne linje rigtig?
session("brugernavn") = LCase(strUsername)
Jeg har ikke noget der hedder "brugernavn" nogen steder!
Synes godt om
Slettet bruger
01. maj 2002 - 21:44#40
session("brugernavn") = LCase(strUsername) er egentligt overflødig i dit tilfælde, da den kun skaber en session, som hedder bruger navn, som indeholder brugerens navn... men hvad med den rettelse jeg gav dig, ud fra dit gamle, det giver samme fejl ?
Min dsn-forbindelse er ok. Den virker fint i andre scripts. Det sidste du skriver, forstår jeg desværre ikke! :(
Synes godt om
Slettet bruger
01. maj 2002 - 22:11#49
om du i login asp, har delt siden op i flere side, eller om der kun står det du skrev til mig til sidst. hvis der kun stå det, skal du ændre din form, så der står action='login.asp
skulle du da ellers ikke, da det var to forskellige sider, den refererede til.....
Synes godt om
Slettet bruger
01. maj 2002 - 22:32#53
er rendt tør for ideer.... det kunne være at (da jeg ved at koden virker hos mig) at du skulle bygge videre på den, ved at oprette et nyt spm, med disse points under asp, så der var friske øjne der kunne se på det, jeg kan i hvertfald ikke se hvor problemet forfindes
Ikke desto mindre er det det jeg ser. Jeg er ved at være ked af at bruge din tid. På den anden side ville jeg blive kanon glad hvis jeg fik det til at virke:
Synes godt om
Slettet bruger
01. maj 2002 - 22:42#55
kan kun se det er den SQL det er galt med, og den har jeg nu tjekket på kryds og tværs, oppefra og nedefra, men det giver ikke mening i mit lille hoved hvor den forbanede fejl foreligger
Din Connection hedder: myConn Den har du definere i toppen ' Skaber DSN forbindelse til DBen Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DSN=riishojwebsoftdkdsn"
Der hvor du benytter en connection til execute bruger du conn. Det giver fejlen Object Required.
Så ret: Set rs = Conn.Execute(strSQL)
Til Set rs = myConn.Execute(strSQL)
Synes godt om
Slettet bruger
01. maj 2002 - 23:30#66
hmmmm.... og så har jeg siddet og knoklet med at få det l... til at virke da jeg var overbevist om at conection var ok, efter sigende
Så skal man typisk kikker efter om connection er definet som, alle de steder hvor man bruger en conenction om man har stavet det rigitgt: Set Connection = Server.CreateObject("ADODB.Connection")
Samt hvis man benytter rs.Open connection,sql så skal man også havde defineret rs ved: Set rs = Server.CreateObject("ADODB.Recordset")
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.