צפיות
תשובות
איך עושים בדיקת LOGings מאובטחת?
יש לי דף מנהל ודף לקוח.
אני ניסיתי גם עם קוקיז וגם SESSION אבל שומדבר לא פתר לי את הבעיה הבאה:
בכניסה לדף שאדמין מורשה בו ישנו הקוד הבא:
Dim conn, rs, SQLstr
Set conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
conn.Provider = "Microsoft.Jet.OLEDB.4.0"
conn.Open Server.MapPath("db/db.mdb")
SQLstr = "SELECT [userFName], [userIsAdmin] FROM [users] WHERE "
SQLstr = SQLstr & "[userID] = '" & Request.Cookies("user")("userID") & "'"
rs.Open SQLstr,conn
If rs.EOF Then 'checks whether the user is still in the Database
'the user is not in the database
Response.Cookies("user")("login") = False
Session("login") = False
Response.Cookies("user")("isAdmin")= False
Session("isAdmin") = False
End If
If Request.Cookies("user")("login") Then
Session("login") = True
Session("name") = Request.Cookies("user")("name")
Response.Cookies("user").Expires = DateAdd("yyyy",1,Now())
If Request.Cookies("user")("isAdmin") Then
Session("isAdmin") = True
Else
Session("isAdmin") = False
Response.Redirect("Index.asp")
End If
Else
Session("login") = False
End If
If Session("isAdmin") Then
נראה לי שהקוד מובן כי המשתנים בו וכו' מייצגים את התוכן שהם מכילים.
אני מתחבר כאדמין ונכנס לדף הזה (שהקוד לעיל מוכל בו): adminListUsers.asp
שהוא של אדמינים בלבד.
אני מתנתק
<%
Session("login") = False
Session("isAdmin") = False
Session.Abandon
Response.Cookies("user")("login") = False
Response.Cookies("user")("isAdmin") = False
Response.Redirect ("index.asp")
%>
ואחרי כן מתחבר כיוזר. אני מגיע לדף של היוזרים.
+++ עד כאן הכל פועל טוב ויפה +++
עכשיו, אם אני נכנס שוב לדף הראשון של האדמינים ( adminListUsers.asp ) אזי הוא מציג לי את הדף שהוא של אדמינים.
נ.ב.
אם אני מחובר כיוזר ולפני זה אני לא מחובר כאדמין אז הוא לא נכנס לי לדף של האדמינים (כמו שצריך) אלא אם כן אני סוגר את הדפדפן או עושה REFRESH.
תודה רבה רבה לעוזרים ואפילו רק למי שקרא (חחחחחחחחחחחחחח) !
1 תשובות
פרטים נוספים…
כשאני מחובר כיוזר אחרי שאני מתחבר ומתנתק מהאדמין ומכניס באופן ידני לשורת הכתובות דף של אדמין שנכנסתי אליו
מתוך הדפדפן הפעיל אזי גם בשורה הזא:
שלום
<% Response.Write(Session("name"))%>
אזי הוא כותב לי את השם לפי ה SESSION של האדמין שדרכו התחברתי.
לפי דעתי הוא כאילו שומר את כל הדף איך שהוא הוחזר קודם לכן כשהתקבל מהשרת כי אחרי רענון לדף הכל מסתדר…