כמה שאלות

ד ו ב י ר

New member
כמה שאלות

ב"ה שלום 1) יש לי דף כניסה (שם משתמש וסיסמא), ויש לי fieldValidators. נניח שמשתמש לוחץ שם משתמש וסיסמא שגויים, אני כותב על איזה label, שהנתונים שגויים. כעת אם הוא לוחץ שוב על הכפתור 'כניסה', כשחסרים שם נתונים, (לדוגמא נניח שהוא מחק את מה שהוא רשם מקודם), אז ה FieldValidators לא נותנים לו להתקדם, והוא מקבל הודעות שגיאה נוספות (כגון: שם משתמש חסר), אבל ההודעה הקודמת לגבי הנתונים השגויים לא נמחקת, ואני גם לא יכול למחוק אותה מהשרת כי כל הפעולות של ה Validators פועלים בצד הלקוח. השאלה שלי היא, האם יש דרך, לכתוב פונקציה בצד הלקוח (לדוגמא ב javascript), שתגש לפקד השרת label ותמחק את ההודעה? (ניסיתי אבל לא הצלחתי, לכן אני שואל). 2) בתהליך האבטחה, יש לפחות שני שלבים: Authentication, ואח"כ Authorization. נניח שאני משתמש ב forms authentication, כי שמות המשתמשים שמורים במסד נתונים, איך אני יכול לשלוט ב authorization כאשר למשתמשים שונים, יש דרגות הרשאה שונות. (אני לא יכול לרשום מראש בתוך ה web.config למי אני מרשה דפים מסויימים ולמי לא, כי זאת מערכת דינמית שבה כל הזמן יכולים להתווסף משתמשים חדשים מסוגים שונים). 3) האם אפשר מצד השרת לעשות משהו כמו ("window.alert("hi תודה רבה מראש
 
תשובה לשאלה 3

מצורף לינק למה שחיפשת ,חוץ מזה יש שם עוד הרבה מאמרים מעניינים 4guysfromrolla
 

ד ו ב י ר

New member
עוד שאלה קטנה

אני יודע Session.abandon, מוחק את ה Session הנוכחי של המשתמש, והמשמעות של זה היא, שאם הוא ירצה להכנס שוב, הוא יצטרך לעשות login. אני רוצה להפעיל את השיטה הזו, כאשר משתמש יוצא מהאתר (אם זה בגלל שהוא לחץ sign out, או כי רשם url חדש בשורת הכתובת) השאלה שלי היא: איך אני יודע מתי משתמש עוזב את האתר? (ברור שאם הוא לחץ sign out, אני יודע, אבל מה קורה אם הוא הכניס url חדש? הרי אם הוא מיד יחזור ה session עדיין יהיה שם, וזה משהו שאני לא רוצה) תודה רבה מראש
 

gilad g

New member
יש timeout של 20 דקות,

אם במשך 20 דקות השרת לא קיבל בקשה מהלקוח, הוא מוחק את הסשן, ומתייחס ללקוח כאילו "עזב" את האתר.
 

pagis

New member
תשובה לשאלה 2

אתה מגדיר לכל דף רמת אבטחה ולכל משתמש אתה מגדיר פרופיל ב DB, בכל כניסה לכל עמוד אתה משתמש מבקש TOKEN לעמוד הרלוונטי ואתה בודק את המשתמש מול ה DB. עוד אפשרות היא להוריד למשתמש, בעת החיבור, איזשהו קובץ שימש כ CERTIFICATE אד הוקי, זאת שיטה יעילה ברמה הבסיסית אבל יש בה המון חורי אבטחה, הייתי מיישם אותה באתר שגמישות, יעילות, מהירות הן ערכים עליונים בו והוא מאבטח גישה למידע לא קריטי. בהחלט לא למקומות שמאחסנים מידע רפואי/בנקאי או דברים שאתה מעוניין למנוע גישה ממקצוען שמנסה לזייף כניסה ולפרוץ. דרך אגב, אני בחופשה החודש אז אם יש שאלות קריטיות אלי שלחו לי למסרים האישיים כדי שאראה במייל כי לא יודע כמה יצא לי להיכנס
 

ד ו ב י ר

New member
זקוק עדיין לקצת עזרה

מה זה פרופיל? ומה זה TOKEN? אני לא כל כך הבנתי את השיטה הראשונה, ואני אודה לך מאד אם תסביר עוד קצת, איך עושים את זה. תודה רבה מראש
 

pagis

New member
הבהרת מושגים

שני המושגים משמשים בד"כ בתאור של מערכות אימות או ניהול משתמשים. הכוונה בפרופיל היא לסוג משתמש, המקבילה ה WINDOWS-ית תיהיה ה GROUPS, יש משתמשים בפרופיל ADMIN יש בפרופיל USER וכו' TOKEN, הוא מטבע, כלומר כשהמשתמש מזדהה מול המערכת הוא מקבל TOKEN שמאפשר לו לקבל הרשאות מסויימות כל עוד אותו TOKEN בתוקף. יש הרבה דרכים ליישם את זה, החל מטבלת TOKEN ב DB שתפתח רשומה לכל TOKEN ותמחק רשומה כשפג תוקפו (או תשמור LOGIN אבל שים לב שאתה מזהה אם ה TOKEN חיי) דרך קצת יותר כבדה אבל בטוחה יותר היא ע"י TOKEN מבוסס חתימה דיגיטלית אם TTL מוגבל.
 

ד ו ב י ר

New member
עוד שאלה

כשאני לוחץ response.redirect, נפתח הקישור המתאים, אבל אם הייתי בתוך frame, הקישור יפתח בתוך ה frame. מה שאני רוצה לעשות הוא לפתוח את הקישור לא בתוך ה frame אלא בתוך החלון. ניסיתי לעשות
response.redirect("page.aspx#parent")​
אבל זה עדיין פותח לי את הקישור בתוך ה frame. האם אתם יודעים איך אני יכול לפתוח את הקישור בחלון ולא ב frame? תודה רבה מראש
 

asafeven

New member
הנה

Response.Write("<script language = javascript>parent.window.navigate('Navigator.Aspx')</script>");​
כמובן שזה בצד שרת, אם אתה רוצה לעשות את זה בצד לקוח אז רק את הפקודה בלי כל הבלאגן
 

gilad g

New member
תשובה לשאלה 1

document.getElementById("myLabel").innerHTML = "bla bli blo";​
 
למעלה