עבור לתוכן

עזרה בASP , כניסה לדפים שמותנת בסיסמא

Featured Replies

פורסם

השאלה שלי היא איך אני יוצר בASP עמודים שהכניסה אליהם מותנת בסיסמא?

כלומר שללא סיסמא אי יהיה אפשר להכנס.

(מכין פרויקט במחשבים עם השפות HTML JAVASCRIPT ASP)

פורסם

גם אני מצטרף לשאלה.

המורה שלנו כ"כ אדיוט שהוא לא הספיק בכלל ללמד ASP (אני אתפלא אם הוא בעצמו יודע את החומר) אז הוא הכין לנו את כל ה-ASP ואמר לנו להעתיק את זה לאתר שלנו בלי שנבין כלום.

פורסם

<%

set con_obj=server.createobject("adodb.connection")

con_obj.open "dsn=dsn_db"

if session("user_name") <> "" then

sql_command = "select * from reg_users where (user_name='"&session("user_name")&"' and password='"&session("password")&"')"

set user_details = server.createobject("ADODB.recordset")

user_details.activeconnection=con_obj

user_details.open(sql_command)

if (user_details.EOF) or (user_details.fields("authorization")<1) then

response.redirect "unauthorized.asp"

end if

else

response.redirect "unauthorized.asp"

end if

%>

עריכה: אני אשמח אם מישהו יסביר לי איך לגרום לזה להופיע משמאל לימין.

פורסם
  • מחבר

איך אני מישם את זה?

כלומר איך אני בונה סביב זה עמוד ASP

איך אני קובע את הסיסמאות, איך אני מכוון אל העמוד וכולי.

וגם

גם אצלנו המורה אידיוט, רק נתן לנו דפים ואמר תעתיקו

פורסם

אני אסביר בכלליות מה הקוד עושה:

הקוד בודק קודם כל אם יש שם משתמש וסיסמה באובייקט session. אובייקט session הוא אובייקט שבתוכו יש משתנים ש"הולכים" עם הגולש לאורך הגלישה הנוכחית שלו. בנוסף לקוד שכתבתי למעלה, צריך להיות גם קוד Login, שימלא את אובייקט ה-session בשם משתמש וסיסמה. כאמור, הקוד בודקג אם יש משתמש וסיסמה באובייקט session. אם אין, בטוח שאין הרשאה, ולכן המשתמש מופנה אל דף אחר. אם יש שם משתמש וסיסמה באובייקט session צריך לבדוק אם הם מופיעים בבסיס הנתונים. כדי לעשות את זה הקוד פונה אל בסיס הנתונים ומבקש להוציא רשומה שיש בה את שם המשתמש והסיסמה המבוקשים. אם שם המשתמש והסיסמה לא נמצאו (EOF -End Of File), המשתמש מופנה לדף אחר. הבדיקה האחרונה שמתבצעת היא האם למשתמש יש את ההרשאה המתאימה. כאן נבדקת ההרשאה ברשומה שהוצאה מהמאגר.

התוכן צריך להופיע אחרי הקוד הזה.

שאלת איך מיישמים את זה-

אתה צריך בעצם ארבעה דפים:

1. דף login שמכיל טופס HTML לקליטת שם המשתמש והסיסמה.

2. דף לעיבוד נתוני ה-login - דף זה יודיע אם קיימים שם המשתמש והסיסמה שהוכנסו, ואם הם קיימים, הוא גם יכניס אותם לאובייקט session.

3. דף עם גישה מוגבלת - מכיל את הקוד שכתבתי למעלה.

4. דף "אינך מורשה לצפות מדף זה" אליו מופנה המשתמש במקרה שאין לו הרשאה.

התרשמתי שהמורים למדעי המחשב שמלמדים את הנושא הזה לא עברו הכשרה מספיק טובה.

  • 2 שבועות מאוחר יותר...
פורסם
  • מחבר

הנה שני הקבצים שהכנתי

השאלה היא איך גורם לחיפו' בבסיס הנתונים שלי (שם של בסיס נתונים personal_data שם טבלה p_d(

בבקשה תעזרו לי

[attachment deleted by admin]

פורסם

שלום,

הדבר לא מסובך כל כך. הנה צרפתי לכם דוגמא שהכנתי שיש בה הסברים כללים.

שלושת הקבצים העיקריים שהתיקיה מכילה הם:

index.asp - הדף הראשי שנפתח ומציג את בקשת הסיסמא.

checkusers.asp - הדף שמעבד את הנתונים של הדף הראשון.

myData.mdb - קובץ מסד הנתונים.

כאשר אתה מגיע לדף הראשי אתה נדרש להזין שם וסיסמא על מנת להמשיך לדף המבוקש.

!-- פינה למחשבה:

מה יקרה אם המשתמש יזין ישירות את שמו של הדף שאנו רוצים להגן עליו לתוך שורת הכתובת של הדפדפן ? האם הדף יפתח ?

התשובה היא כן מכיוון שלא הגנו עליו מספיק טוב.

נראה אותך מתגבר על ה"בעיה" הקטנה הזו. רמז: יש צורך להשתמש ב session.

בהצלחה.

[attachment deleted by admin - 90 dayss]

פורסם

תחילה ניצור דף כניסה login.asp

<!-- עמוד כניסה של המשתמש --->

<%@LANGUAGE="VBSCRIPT" codepage="1255@"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-8">

<title>ëðéñä ìîîù÷ ðéäåì äçðåú</title>

<script language="JavaScript">

function Validate(form)

{

if (form.n.value == "")

{

alert("!ðà ìäæéï ùí îðäì")

form.n.focus();

return false

}

else

if (form.p.value == "")

{

alert("!ðà ìäæéï ññîú îðäì")

form.p.focus();

return false

}

return true

}

</script>

</head>

<body background="images/bg.jpg" text="#ffffff" alink="#0000ff" link="#0000ff" vlink="#0000ff" onLoad="document.login.n.focus();">

<div align="center"><img src="Images/admin_store_header.gif" width="378" height="54" border="0" alt="îîù÷ ðéäåì äçðåú"></div>

<div align="center"><font size=5 color="navy">úåðçä ìåäéð ÷ùîîì äñéðë</font></div>

<form action=admin.asp method=post name="login" onSubmit="return Validate(this)">

<table align="center" bgcolor="navy" border="4" bordercolor="#4F4FFF"rules="groups" lang="he">

<tr><td><input type=text name=n></td><td align="right"><b>:ìäðî íù</b></td></tr>

<tr><td><input type=password name=p></td><td align="right"><b>:ìäðî úîññ</b></td></tr>

</table>

<div align="center"> </div>

<div align="center"><input type=submit value =" äëðñ ìîòøëú "></div>

</form>

</body>

</html>

עכשיו ניצור עמוד נוסף כדוגמא admin.asp

<!--- בדיקה האם המתמש קיים בבסיס הנתונים ועם הוא בעל הרשאות--->

<%@LANGUAGE="VBSCRIPT" codepage="1255@"%>

<!--#include file="setting.asp" -->

<%

set c=server.createobject("adodb.connection")

c.open dsn

set r=server.createobject("adodb.recordset")

r.activeconnection=c

r.open "select * from Admin where AdminUser='" & request.form("n") & "' and AdminPassword='" &_

request.form("p") & "'"

if r.eof and session("IsAdmin") = nil then

response.write "<div align=center><font size=5 color=red><b>!àéðê îåøùä ìðäì àú äçðåú</b></font></div>"

response.end

end if

r.close

session("IsAdmin")="yes"

session("AdminUser")=request.form("n")

session("AdminPassword")=request.form("p")

%>

<!-- כאן ניתן להוסיף עוד קוד HTML וכ"ד-->

בסופו של דבר אחרי שנכנסנו לדף זה כמשתמשים קיימים נוצר לנו אובייקט ה SESSION אשר מבסר למחשב שיש לנו הרשאות.

על כן ניצור עוד קובץ לדוגמא IsMember.asp אשר יכיל את הקוד הבא:

<%

'áãé÷ä ìëê ùäîùúîù äëï îåøùä ìðäì àú äçðåú

if session("IsAdmin")<>"yes" then

response.write "<div align=center lang=he><font size=5 color=red><b>!àéðê îåøùä ìðäì àú äçðåú</b></font></div>"

response.end

end if

%>

את הקובץ הזה יש להכליל בכל תחילת דף asp אשר ברצוננו לאפשר גישה אליו לחברים בלבד.

יש לציין שיש ליצור את הטבלאות המתאימות בבסיס הנתונים.

  • 3 שבועות מאוחר יותר...
פורסם

עדין אקטואלי? אם עדין אקטואלי- יש לי מה לתרום... אני לדוגמה השתמשתי באתר שלי בעוגיות.

מה שיותר אהבתי מאחר ואני לא אוהב את הרעיון שכל פעם שהחבר באתר גולש לאתר הוא צריך להתחבר מחדש.

כך מספיק שהמשתמש מתחבר פעם אחת מאותו המחשב והאתר יזהה אותו באופן אוטומטי מן הפעם הבאה שיתחבר.

גם לדעתי דרך השימוש בעוגיות מאד מאד מאד קלה.

כלומר בפעם הראשונה כהשמשתמש נרשם לאתר, או מתחבר אליו (במידה והוא כבר רשום) נכתב למחשב עוגיה וכך להבא האתר יזהה אותו באופן אוטומטי.

העמודים יוצגו על טהרת התנאי- אם קימת עוגיה על המחשב יוצג X המידה ולא יוצג Y.

לא מסובך בכלל....

עם עדין אקטואלי אני אוסיף את הקידוד לכל הקטע... רק תודיעו במידה ומישו צריך.

אני מאמין שאף אחד לא צריך כבר מאחר וכולם כבר קיבלו ת100 שלהם...

פורסם

תוסיף תוסיף זה רעיון טוב ורק יכול לעזור.

  • 1 חודש מאוחר יותר...
פורסם

אחי עשיתי מה שאמרתה וזה לא עובד לי איפו אני קובע מה הסיסמה והשם משתמש ואיך אני מוסיף אותו לדפים שאני רוצה שיהיו מוגנים

אחי אני יזביר לך מה בדיוק אני רוצה וצריך ואולי אתה תעזור לי אז ככה אחי

יש לי אתר אינטרנת שהו בעיקרון חופשי לכניסות ואני מוסיף לאתר חלק שאני רוצה (כפטור) שכאשר ילחצו עליו הו יוביל ללמקום שאני רוצה שיהיה מאוד מאובטח המקום שאני רוצה להוביל אליו מורכב מ4 דפים של asp הקוונה אחד מוביל לשני סה"כ 4-5 דפים אני רוצה שתלמד אותי אין אני מוסיף את הlogin ליפני הדפים האלה ושכול זה יהיה ממש מאובטח ולא ניתן לעקיפהואחי עם יש לך את הקבצים מוכנים אני ממש ישמח

אחי אני פונה אליך כי סמתי לב שאתה ממש מבין טוב בנושה

שלך אפי

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים