נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
בניית אתרים
RSS UnderWarrior Forums : RSS בניית אתרים
נושא

נושא: מסמך: אתר מוגן שם משתמש וססמא עם ASP

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 24 May 2005 בשעה 22:42 | IP רשוּם
ציטוט ניר

אוקיי - כולם שואלים כל הזמן איך לעשות את זה. אני מתחיל לכתוב כאן. מי שרוצה - מוזמן להוסיף. כשזה מוכן - יהפוך למסמך באתר.

תוכן עניינים:
א. מבוא - מה אנחנו מנסים לעשות
ב. משתני session
ג. בניית בסיס נתונים עם רשימת המשתמשים
ד. בניית טופס ההתחברות
ה. הגנה על דפים באתר על ידי הססמא
ו. שימושים מתקדמים - רמות שונות של משתמשים, בקרת כניסה מתוחכמת.


אתם מוזמנים לקרוא את אשכול זה בימים הקרובים, וגם לקחת על עצמכם פרק


__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
pitbull
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 14 May 2005
משתמש: מנותק/ת
הודעות: 209
נשלח בתאריך: 24 May 2005 בשעה 23:05 | IP רשוּם
ציטוט pitbull

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 24 May 2005 בשעה 23:20 | IP רשוּם
ציטוט גיא

למה ב-asp ולא ב-php ???

עם אפשר לעשות גם וגם זה יהיה מצויין...

חזרה לתחילת העמוד הצג את כרטיס החבר של גיא חפש הודעות אחרות של גיא בקר בדף הבית של גיא
 
Alias
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 13 January 2005
משתמש: מנותק/ת
הודעות: 344
נשלח בתאריך: 24 May 2005 בשעה 23:21 | IP רשוּם
ציטוט Alias

אם תרצה עזרה למשל להציג במסמך קודים גם PHP וגם ASP במקביל רק תבקש =).
אפשר להוסיף עוד אפשרות אם המשתמש רוצה שהאתר "יזכור" אותו בכניסה הבאה ולהוסיף cookie.
חזרה לתחילת העמוד הצג את כרטיס החבר של Alias חפש הודעות אחרות של Alias בקר בדף הבית של Alias
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 24 May 2005 בשעה 23:44 | IP רשוּם
ציטוט ניר


המסמך יכלול דוגמאות ב-ASP וב-PHP במקביל, אחת ליד השניה.
נושא ה-cookies יכנס בפרק האחרון של נושאים מתקדמים.
Alias - אתה אחראי לתרגם דוגמאות ASP ל-PHP

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


__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 24 May 2005 בשעה 23:50 | IP רשוּם
ציטוט ניר

א. מבוא

אתרים רבים כוללים בקרת ססמאות.
הרעיון: על מנת להשתמש בשירותים אותה מציעה המערכת, על המשתמש להקיש שם וססמא ב-"דף התחברות" מיוחד. רק לאחר שמשתמש הזין שם משתמש וססמא החוקיים עבור המערכת, הוא יוכל להשתמש בשירותים שלה.

במסמך זה נציג כיצד ניתן לבנות מערכת כזו בשפות ASP ו-PHP. הדוגמאות יופיעו זו לצד זו, בליווי הסברים המתאימים לשתי השפות.


ב. מבנה המערכת אותה אנחנו בונים

מערכת ניהול משתמשים תכלול מספר חלקים:
1. דף התחברות - דף זה מציג למשתמש שם וססמא. לפני כניסה לכל מסך אחר במערכת, על המשתמש להכניס שם משתמש וססמא בדף זה, החוקיים עבור המערכת.
2. דף בדיקת שם המשתמש והססמא - דף זה יכול להיות חלק מדף ההתחברות, או מודול נפרד שבודק את הקלט אותו הזין המשתמש. במקרה שלנו - דף ההתחברות ישמש גם כדף בדיקת הססמא, אך נדגיש כי הוא היה יכול להיות רכיב נפרד.
3. דפי המערכת - כל אחד מהדפים השונים במערכת צריך להיות מוגן. דרישת ההגנה היא לדאוג שאם המשתמש אינו מורשה לראות את תוכן הדף - הוא לא יראה אותו.
4. אופציונלי - דף לעריכת המשתמשים במערכת. דף זה הינו אופציונלי כי נוכל לקבוע לפי הצרכים שלנו - שנערוך את רשימת המשתמשים בבסיס הנתונים באופן ידני.



__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
Alias
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 13 January 2005
משתמש: מנותק/ת
הודעות: 344
נשלח בתאריך: 25 May 2005 בשעה 01:22 | IP רשוּם
ציטוט Alias

ג.משתני session
לפני שנתחיל בבניית המערכת עלינו להבין מהם משתני session וכיצד נוכל להשתמש בהם.
כל משתמש שנמצא באתר, האתר נותן לו אוטומטית מספר זיהוי מספר זה נקרא session id או בקצרה SID. חשוב לציין שלכל משתמש יש מספר משלו מספר זה מאפשר לאתר לזהות את המשתמש בכל דף באתר.
לכל מספר כזה האתר פותח קובץ על השרת לפי המספר, ובתוכו נשמרים הנתונים של אותו משתמש, לכל משתמש יש את הקובץ שלו.
על מנת שיוכל השרת לזהות את המשתמש בכל הדפים ה-SID צריך או לעבור בין הדפים דרך ה-URL או להשמר בצד הלקוח בעוגייה (תלוי בהגדרות השרת).
כאשר אנו מגדירים משתנה מסוג session הוא אוטומטית נשמר בתוך קובץ ה-session וכתוצאה מכך נעשה גלובלי וערכו נשמר בכל הדפים.
יש לציין כי התוקף של קובץ ה-session פג עפ"י זמן מסוים (מוגדר מראש) שבו לא תיקשר המשתמש עם השרת, או כאשר המשתמש סוגר את הדפדפן וכן כאשר פג תוקפו של הקובץ פג תוקפם של המשתנים שנשמרו בו.

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

כדי שנוכל ליצור משתנה מסוג session עלינו תחילה לאתחל session (ליצור קובץ session יחודי למשתמש על השרת).
ישנן 2 דרכים לעשות זאת:
א. להגדיר לשרת שאוטומטית יבצע פעולה זאת בכל הדפים.
ב. להשתמש בפונקציה session_start(); לפני שה-headers נשלחים (לפני הוצאת פלט).
לאחר שאתחלנו session בדף, נוצר לנו מערך גלובלי- $_SESSION[].
כאשר נרצה להגדיר משתנה מסוג session נעשה זאת כך:
קוד:
$_SESSION['nameofvar']=0;

כאשר nameofvar זהו שם המשתנה.
כשנרצה למחוק את משתני ה-session שהגדרנו נשתמש או בפונקציה session_unregister() שמוחקת את המשתנים גם מהקובץ בשרת וגם מהמערך הגלובלי או בפונקציה unset() שמוחקת את המשתנים מהקובץ בשרת אך לא מהמהערך הגלוגלי.

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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 25 May 2005 בשעה 08:03 | IP רשוּם
ציטוט ניר

בשפת ASP ניצור משתנה session חדש פשוט על ידי שימוש בו.
נניח שנרצה ליצור משתנה session בשם validLogin, שערכו יהיה true, למשל, נכתוב:
קוד:
session("validLogin") = true


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


__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
pitbull
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 14 May 2005
משתמש: מנותק/ת
הודעות: 209
נשלח בתאריך: 25 May 2005 בשעה 15:50 | IP רשוּם
ציטוט pitbull

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

חזרה לתחילת העמוד הצג את כרטיס החבר של pitbull חפש הודעות אחרות של pitbull
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 25 May 2005 בשעה 16:53 | IP רשוּם
ציטוט ניר

לאחר שהגדרנו משתנה session, ניתן לפנות אליו באותו שם.
למשל, התנאי הבא שואל האם משתנה ה-session validLogin הוא true:

קוד:
if (Session("validLogin") = true) Then
    ...
End If



__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
Alias
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 13 January 2005
משתמש: מנותק/ת
הודעות: 344
נשלח בתאריך: 25 May 2005 בשעה 17:23 | IP רשוּם
ציטוט Alias

או ב-PHP
קוד:
if ($_SESSION["validLogin"]==TRUE)
{
...   // פה נשים את הקוד שנרצה שהדף יבצע במקרה שהמשתמש מחובר
}
else
{
... // פה נשים את הקוד שנרצה שהדף יבצע במקרה שהמשתמש אינו מחובר
}
חזרה לתחילת העמוד הצג את כרטיס החבר של Alias חפש הודעות אחרות של Alias בקר בדף הבית של Alias
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 25 May 2005 בשעה 17:58 | IP רשוּם
ציטוט ניר

דעה - ביחד זה יוצא טיפה מבולגן. הייתי מציע להתרכז ב-ASP, ואחר כך לעשות פרק נוסף - על "אותו דבר ב-PHP".

__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
גיא
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 25 May 2005 בשעה 20:14 | IP רשוּם
ציטוט גיא

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

חזרה לתחילת העמוד הצג את כרטיס החבר של גיא חפש הודעות אחרות של גיא בקר בדף הבית של גיא
 
Alias
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 13 January 2005
משתמש: מנותק/ת
הודעות: 344
נשלח בתאריך: 25 May 2005 בשעה 23:46 | IP רשוּם
ציטוט Alias

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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 27 May 2005 בשעה 19:46 | IP רשוּם
ציטוט ניר

מה שיש עד עכשיו:

תוכן עניינים:
א. מבוא - מה אנחנו מנסים לעשות
ב. מבנה המערכת
ג. משתני session
ד. בניית בסיס נתונים עם רשימת המשתמשים
ה. בניית טופס ההתחברות
ו. הגנה על דפים באתר על ידי הססמא
ז. שימושים מתקדמים - רמות שונות של משתמשים, בקרת כניסה מתוחכמת, שימוש בעוגיות לזכירת המשתמש.
ח. אתר מוגן בשפת PHP

א. מבוא

אתרים רבים כוללים בקרת ססמאות.
הרעיון: על מנת להשתמש בשירותים אותה מציעה המערכת, על המשתמש להקיש שם וססמא ב-"דף התחברות" מיוחד. רק לאחר שמשתמש הזין שם משתמש וססמא החוקיים עבור המערכת, הוא יוכל להשתמש בשירותים שלה.

במסמך זה נציג כיצד ניתן לבנות מערכת כזו בשפות ASP ו-PHP. נציג ראשית את הדוגמאות עבור ASP, ופרק מיוחד ידגים כיצד כותבים מערכת זהה בשפת PHP.


ב. מבנה המערכת אותה אנחנו בונים

מערכת ניהול משתמשים תכלול מספר חלקים:
1. דף התחברות - דף זה מציג למשתמש שם וססמא. לפני כניסה לכל מסך אחר במערכת, על המשתמש להכניס שם משתמש וססמא בדף זה, החוקיים עבור המערכת.
2. דף בדיקת שם המשתמש והססמא - דף זה יכול להיות חלק מדף ההתחברות, או מודול נפרד שבודק את הקלט אותו הזין המשתמש. במקרה שלנו - דף ההתחברות ישמש גם כדף בדיקת הססמא, אך נדגיש כי הוא היה יכול להיות רכיב נפרד.
3. דפי המערכת - כל אחד מהדפים השונים במערכת צריך להיות מוגן. דרישת ההגנה היא לדאוג שאם המשתמש אינו מורשה לראות את תוכן הדף - הוא לא יראה אותו.
4. אופציונלי - דף לעריכת המשתמשים במערכת. דף זה הינו אופציונלי כי נוכל לקבוע לפי הצרכים שלנו - שנערוך את רשימת המשתמשים בבסיס הנתונים באופן ידני.


ג.משתני session

כאשר מבקר נכנס לאתר, מוצמד לו אוטומטית מספר זיהוי, המכונה Session ID או בקיצור SID. לכל מבקר באתר - מזהה משלו המאפשר להבדיל בינו לבין המשתמשים האחרים באתר.
משתני Session הם משתנים הנמצאים בקובץ על השרת, המכילים ערכים הספציפיים למשתמש בעל ה-SID המתאים.
השימוש במשתני Session מאפשר לנו בעצם לשמור נתונים אישיים עבור כל גולש ולהשתמש בהם.
ה-SID עצמו נמצא כ-cookie אצל המשתמש, או כפרמטר בשורת הכתובת של האתר (תלוי בהגדרות השרת).

יש לציין כי התוקף של קובץ ה-session פג עפ"י זמן מסוים (מוגדר מראש) שבו לא תיקשר המשתמש עם השרת, או כאשר המשתמש סוגר את הדפדפן. כאשר פג תוקפו של הקובץ פג תוקפם של המשתנים שנשמרו בו.

איך משתני Session יכולים לעזור לנו במערכת שאנו בונים?
כפי שתארנו את המערכת, על כל דפי המערכת להיות מסוגלים לזהות האם המשתמש מחובר למערכת או לא, ולהגיב בהתאם. כדי לבצע משימה זו, נגדיר לכל משתמש משתנה session שישמור מצב: האם המשתמש מחובר או לא (0-מנותק, 1-מחובר, למשל).


בשפת ASP ניצור משתנה session חדש פשוט על ידי שימוש בו.
נניח שנרצה ליצור משתנה session בשם validLogin, שערכו יהיה true, למשל, נכתוב:
קוד:
session("validLogin") = true



נדגיש שוב: משתני ה-session הינם יחודיים לכל משתמש. נניח שבדף מסויים אנחנו משתמשים במשתנה כזה ושני גולשים בו זמנית נמצאים באותו דף, אז לכל משתמש יהיה משתנה session נפרד משלו שיקבע האם הוא משתמש חוקי או לא.


לאחר שהגדרנו משתנה session, ניתן לפנות אליו באותו שם. למשל, התנאי הבא שואל האם משתנה ה-session validLogin הוא true:

קוד:
if (Session("validLogin") = true) Then
    ...
End If


ד. בסיס הנתונים
במסמך זה נציג שימוש בבסיס נתונים מסוג Access, כאשר כמובן שניתן להשתמש בבסיס נתונים אחר.
שם קובץ בסיס הנתונים יהיה users.mdb. בסיס הנתונים יכיל טבלה אחת, Users, שתכיל עבור כל משתמש את שם המשתמש (clUserName) והססמא שלו (clPassword).

אנחנו מניחים כי הקורא מכיר את עקרונות העבודה עם בסיסי נתונים.


ח. אתר מוגן בשפת PHP
(מה ש-Alias כתב - שפוצל בנתיים שיהיה בסוף)

כדי שנוכל ליצור משתנה מסוג session עלינו תחילה לאתחל session (ליצור קובץ session יחודי למשתמש על השרת).
ישנן 2 דרכים לעשות זאת:
א. להגדיר לשרת שאוטומטית יבצע פעולה זאת בכל הדפים.
ב. להשתמש בפונקציה session_start(); לפני שה-headers נשלחים (לפני הוצאת פלט).
לאחר שאתחלנו session בדף, נוצר לנו מערך גלובלי- $_SESSION[].
כאשר נרצה להגדיר משתנה מסוג session נעשה זאת כך:
קוד:
$_SESSION['nameofvar']=0;

כאשר nameofvar זהו שם המשתנה.
כשנרצה למחוק את משתני ה-session שהגדרנו נשתמש או בפונקציה session_unregister() שמוחקת את המשתנים גם מהקובץ בשרת וגם מהמערך הגלובלי או בפונקציה unset() שמוחקת את המשתנים מהקובץ בשרת אך לא מהמהערך הגלוגלי.


גישה אל משתנה


או ב-PHP
קוד:
if ($_SESSION["validLogin"]==TRUE)
{
... // פה נשים את הקוד שנרצה שהדף יבצע במקרה שהמשתמש מחובר
}
else
{
... // פה נשים את הקוד שנרצה שהדף יבצע במקרה שהמשתמש אינו מחובר
}


__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 28 May 2005 בשעה 20:57 | IP רשוּם
ציטוט SBD

חבל לא אמרת שצריך הייתי מכין אחד לבד =\

__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
גיא
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 01 June 2005 בשעה 20:13 | IP רשוּם
ציטוט גיא

חבר'ה מה קורה עם המדריך הזה?

מישהו ממשיך אותו כי אני רוצה לדעת את ההמשך....

תודה לכל הכותבים!

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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 01 June 2005 בשעה 20:16 | IP רשוּם
ציטוט ניר

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

__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
notkok
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 13 January 2005
משתמש: מנותק/ת
הודעות: 88
נשלח בתאריך: 30 June 2005 בשעה 03:26 | IP רשוּם
ציטוט notkok

ניר, תעמיס עלי משהו.


אני מקווה להצטרף לכתיבה בקרוב, יש לי הרבה מה לכתוב על זה :)
חזרה לתחילת העמוד הצג את כרטיס החבר של notkok חפש הודעות אחרות של notkok
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 30 June 2005 בשעה 05:03 | IP רשוּם
ציטוט ניר

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

__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
מנחם
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 05 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 23
נשלח בתאריך: 05 July 2005 בשעה 21:30 | IP רשוּם
ציטוט מנחם

ה. בניית טופס ההתחברות

בחלק זה אנו מציגים לגולש הודעה שבו עליו להתחבר למערכת. הודעה זו תוצג על ידי זיהוי שהמשתמש אינו רשום (על ידי שימוש ב-Cookies, להלן פרק ז, או על ידי שימוש במשתני-Session כאמור לעיל בפרק ג).
הטופס שאציג יהיה בנוי ב-HTML פשוט עד כמה שניתן, אך כמובן באתר שלכם תוכלו להוסיף עיצוב וכל מה שתרצו.
קוד הטופס:

קוד:

<form action="login.asp" method=post>
<table>
<tr><td colspan=2 align=center>התחברות למערכת</td></tr>
<tr><td>שם משתמש:</td><td><input type=text name=username></td>
<tr><td>סיסמא:</td><td><input type=password name=password></td>
<tr><td colspan=2 align=center><input type=submit value="כניסה"></td></tr>
</table>
</form>

אני מניח שאתם מבינים את התגים שנעשה בהם שימוש, אם לא, קיים מידע עצום בכל רחבי האינטרנט (ויש להניח שאף כאן באתר) לגבי טפסים.
המרכיב העיקרי בטופס הוא לאן הוא נשלח, איזה סקריפט בעצם מבצע את המידע שהוזן אל תוכו, במקרה זה הדף הוא login.asp. נראה כעת את הקוד של הדף המבצע את הכניסה בפועל אם הסיסמא נכונה: (הקוד ממוספר לצורך הסברים. כמובן שאם אתם מעתיקים אותו, הורידו את המספור)
קוד:

<%
1  Set cn = Server.CreateObject("ADODB.Connection")
2  cn.Open connString 'כאן מגיעה מחרוזת ההתחברות למסד הנתונים שלכם
3  Set rs = server.CreateObject("ADODB.recordset")
4  userName=Replace(Request("username"),"'","''")
5  Password=Replace(Request("Password"),"'","''")
6  rs.Open "select * from users where clUserName='" & username & "'" and clPassword='" & Password & "'", cn
7  If rs.Eof Then 'לא נמצא אף משתמש
8       Response.Write("שם משתמש וסיסמא אינם תואמים<BR>")
9       Response.Write("לחץ על Back כדי לחזור לעמוד הקודם.")
10 Else
11      Session("validLogin") = True
12      Response.Write("ברוך הבא!")
13 End If
14 rs.Close
15 cn.Close
16 Set rs=Nothing
17 Set cn=Nothing
%>

נעבור עליו כעת בפרוטרוט:
בשורות 1-3, אנו מכריזים על אובייקט Connection חדש שבעזרתו אנחנו מתחברים למסד נתונים כלשהו. בשורה שלאחר מכן, אנו מתחברים למסד הנתונים, כל הפרטים בנוגע איך להתחבר כבר אמורים להיות למי שמשתמש במסדי נתונים. לאחר מכן אנו יוצרים עוד אובייקט נוסף, Recordset - בעברית: רשומה בשם rs. בעזרת אובייקט זה ניתן לבצע שאילתות על מסד הנתונים שיחזירו רשומה עם המידע המבוקש.
בשורות 4-5, אנו מקבלים את המידע שהועבר על ידי הטופס שיצרנו בסעיף הקודם. שני השדות של הטופס - UserName ו-Password נקראים על ידינו באמצעות האובייקט Request של ASP. על שני הנתונים המתקבלים מן המשתמש אנו מבצעים החלפה של גרש אחד (') בשני גרשים ('') (שימו לב, לא מדובר בגרש כפול (")!) כדי למנוע SQL Injections ובעצם עקיפה של הסיסמא.
בשורה 6 אנו מבצעים שאילתה באמצעות האובייקט rs על מסד הנתונים, כך שיוחזרו לנו המשתמש ששם המשתמש שלו שווה לשם משתמש שהוקלד בטופס, והסיסמא אף היא שווה.
בשורה 7 אנו בודקים האם השאילתה הזו החזירה לנו רשומה או שלא (- Eof). אם ה-Recordset ריק, הצג הודעה שהסיסמא אינה נכונה, אך אם הוא לא ריק, כלומר נמצא משתמש בעל אותו שם משתמש וסיסמא כפי שהוזן, נכניס אותו למערכת.
בשורה 8-9 אנו מציגים הודעת שגיאה למשתמש.
בשורה 11 אנו משנים את משתנה ה-Session להיות True כדי שנדע בבדיקה בדפים אחרים שאכן המשתמש הנוכחי כבר נכנס למערכת.
בשורה 12 מוצגת הודעה על כניסה מוצלחת. אם בטבלת Users היה נניח גם שמו של המשתמש היינו יכולים להציג גם את שמו, כדי להפוך את המערכת למעט יותר אישית...
בשורה 14-17 סוגרים את ה-Recordset ואת ה-Connection ומפנים את הזכרון שהקצנו בשבילם.

לאחר קוד זה ניתן להוסיף הפניה לעמודים שונים, או להציג שוב את הטופס של "כניסה למערכת".

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

הצטרף / הצטרפה: 05 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 23
נשלח בתאריך: 05 July 2005 בשעה 21:31 | IP רשוּם
ציטוט מנחם

ו. הגנה על דפים באתר על ידי הססמא
כעת לאחר שיש לנו דף כניסה, אנחנו רוצים לבדוק בדפים מסויימים (הדפים המוגנים) שהמשתמש שבא לצפות בהם הוא אכן משתמש רשום, ולא סתם גולש לא ידוע.
אם נסתכל שוב בדף שביצע את הכניסה למערכת, נראה שכתבנו שם שאם הסיסמא נכונה נשנה את המשתנה ("Session("validLogin להיות True.
כלומר, אם המשתמש לא מכניס סיסמא נכונה, או בכלל לא מגיע לדף הכניסה המשתנה ("Session("validLogin לא יהיה שווה True.
לכן כל מה שעלינו לעשות להוסיף בכל אחד מהדפים המוגנים בדיקה, האם המשתמש הנוכחי (ע"י Session) אכן נרשם או שלא.
קוד:

If Session("validLogin") <> True Then
        Response.Write("אינך משתמש רשום. רק משתמש רשום יכול לצפות בדף זה.<BR>")
        Response.Write("אנא בצע <a href=""login_form.htm"">כניסה למערכת</a>.")
Else
        .
        .        'כאן מגיע הקוד הרגיל של הדף שאנחנו רוצים להגן עליו
        .
End If  'זה מופיע בסוף הקובץ

על ידי קוד זה אנחנו "עוטפים" את הקוד המקורי שאמור להיות מוסתר ממשתמשים לא רשומים, על ידי תנאי, שיהיה נכון אך ורק אם המשתמש ביצע כניסה למערכת.
אם המשתמש לא רשום תוצג לו ההודעה שעליו להכנס למערכת, ואם לא יוצג הדף הרגיל.
יש לשנות את login_form.htm לדף בו שמרתם את הטופס שהוזכר בסעיף הקודם.
חזרה לתחילת העמוד הצג את כרטיס החבר של מנחם חפש הודעות אחרות של מנחם
 
יוסי בכינור
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 21 August 2005 בשעה 16:16 | IP רשוּם
ציטוט יוסי בכינור

בקשר לשורות 4, ו- 5,

בגדול הבנתי מה הכוונה, אבל לא הבנתי מה הפקודה עושה.

והאם המשתמש לא לכתוב שתי גרשיים ואז הוא יעקוף את ההגנה הזו ?

 

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

הצטרף / הצטרפה: 28 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 437
נשלח בתאריך: 04 October 2005 בשעה 08:04 | IP רשוּם
ציטוט y2cRAck4

יש אפשרות להתקיף את הדף ע"י זיוף sessions ?

__________________
? Why to crack for
חזרה לתחילת העמוד הצג את כרטיס החבר של y2cRAck4 חפש הודעות אחרות של y2cRAck4 בקר בדף הבית של y2cRAck4
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 05 October 2005 בשעה 03:54 | IP רשוּם
ציטוט shoshan

כל הרעיון של session זה שהוא נשמר בשרת...לא כמו cookie שנשמרות אצל המשתמש...

(לא כל הרעיון...)

חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
sysctl
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 02 November 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 16
נשלח בתאריך: 07 December 2005 בשעה 18:03 | IP רשוּם
ציטוט sysctl

חברס אני מתייבש פה... גם הדיון נדמה לי...
אין פה אנשים שיכולים להמשיך לכתוב על קוקיס ב PHP ו ASP?

__________________
"כל מה שנעשה - אפשרי
כל מה שבלתי אפשרי - יעשה"
חזרה לתחילת העמוד הצג את כרטיס החבר של sysctl חפש הודעות אחרות של sysctl בקר בדף הבית של sysctl
 
pitbull
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 14 May 2005
משתמש: מנותק/ת
הודעות: 209
נשלח בתאריך: 07 December 2005 בשעה 18:27 | IP רשוּם
ציטוט pitbull

sysctl כתב:
חברס אני מתייבש פה... גם הדיון נדמה לי...
אין פה אנשים שיכולים להמשיך לכתוב על קוקיס ב PHP ו ASP?

מה אתה בדיוק צריך? אין הרבה דברים שאפשר לכתוב על קוקיס :\
דבר די בסיסי ופשוט...
חזרה לתחילת העמוד הצג את כרטיס החבר של pitbull חפש הודעות אחרות של pitbull
 
אדהם חמודה
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 18 January 2006 בשעה 17:38 | IP רשוּם
ציטוט אדהם חמודה

תודה רבה . הסבר יפה הבנתי הכל

חזרה לתחילת העמוד הצג את כרטיס החבר של אדהם חמודה חפש הודעות אחרות של אדהם חמודה בקר בדף הבית של אדהם חמודה
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 01 February 2006 בשעה 14:10 | IP רשוּם
ציטוט אלצ'קו

לא מדוייק.
shoshan כתב:

כל הרעיון של session זה שהוא נשמר בשרת...לא כמו cookie שנשמרות אצל המשתמש...

(לא כל הרעיון...)


אובייקט Session של ASP בהחלט משתמש בעוגיות. קרא לדוגמה כאן.
הסבר נוסף באתר מייקרוסופט.

חזרה לתחילת העמוד הצג את כרטיס החבר של אלצ'קו חפש הודעות אחרות של אלצ'קו
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 01 February 2006 בשעה 19:33 | IP רשוּם
ציטוט shoshan

KK...צודק...בורות...
לא מזמן שמתי לב בעצמי...


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
zoobooboozoo
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 27 November 2005
משתמש: מנותק/ת
הודעות: 80
נשלח בתאריך: 06 April 2006 בשעה 16:56 | IP רשוּם
ציטוט zoobooboozoo

מדריך מעולה, תודה רבה...
אבל הייתי שמח אם מי שיש לו זמן שיוסיף,
ושאם אפשרל תרגם ל-PHP את החלקים שעדיין לא תורגמו
חזרה לתחילת העמוד הצג את כרטיס החבר של zoobooboozoo חפש הודעות אחרות של zoobooboozoo
 
zoobooboozoo
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 27 November 2005
משתמש: מנותק/ת
הודעות: 80
נשלח בתאריך: 25 July 2006 בשעה 14:30 | IP רשוּם
ציטוט zoobooboozoo

מה קורה עם המדריך הזה חבר'ה?

כבר חודשים לא קורה איתו כלום 

חזרה לתחילת העמוד הצג את כרטיס החבר של zoobooboozoo חפש הודעות אחרות של zoobooboozoo
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 25 July 2006 בשעה 14:40 | IP רשוּם
ציטוט shoshan

מה אתה רוצה מהמדריך ?

נשתדל נעזור לך.


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
zoobooboozoo
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 27 November 2005
משתמש: מנותק/ת
הודעות: 80
נשלח בתאריך: 25 July 2006 בשעה 15:10 | IP רשוּם
ציטוט zoobooboozoo

אני מפתח עכשיו אתר ב-ASP, ויהיה לי שימוש במדריך,

כי יהיו באתר משתמשים התחברות וכו', אז אם הוא יהיה מושלם על כל החלקים של כזאת מערכת, זה יעזור מאוד

חזרה לתחילת העמוד הצג את כרטיס החבר של zoobooboozoo חפש הודעות אחרות של zoobooboozoo
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 25 July 2006 בשעה 16:14 | IP רשוּם
ציטוט shoshan

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

או שתחכה שלמישהו יהיה בא לסיים את המדריך.

__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
An7iVi2uS
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 09 February 2006
מדינה: Israel
משתמש: מנותק/ת
הודעות: 45
נשלח בתאריך: 27 July 2006 בשעה 02:36 | IP רשוּם
ציטוט An7iVi2uS

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

לדאוג שבשום פנים ה id של המשתמש לא יועבר לדף ב get אחרת

כל משתמש יוכל לשנות לעצמו את הid למעלה ולהתל במערכת

משתמשים חכמים יזהו את הid של המנהל וישתמשו בו

אז אתם שואלים איך נדע מה הid של המנהל? (בהנחה שהוא חכם וזה לא 1)

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

הid שלו מופיע למעלה בשורת הכתובות

תאמינו או לא החור הנלוז הזה גיליתי אותו במערכת הפורמים של תפוז

והתחזתי למנהל שם באיזה סיטואציה והיה מצחיק

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

כשמדובר במערכות אימות באתרים



__________________
חזרה לתחילת העמוד הצג את כרטיס החבר של An7iVi2uS חפש הודעות אחרות של An7iVi2uS בקר בדף הבית של An7iVi2uS
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 24 August 2006 בשעה 03:53 | IP רשוּם
ציטוט :)

לא ממש עברתי על המדריך אבל תשתדלו לתת דוגמאות איך להגן על ההתחברות מפני sql inj .

חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
dondon
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 03 March 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 63
נשלח בתאריך: 26 March 2007 בשעה 10:42 | IP רשוּם
ציטוט dondon

ויתרתם על php ?
חזרה לתחילת העמוד הצג את כרטיס החבר של dondon חפש הודעות אחרות של dondon
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 26 March 2007 בשעה 11:33 | IP רשוּם
ציטוט shoshan

איזה הקפצה...

אם אתה רוצה אתה יכול להסתכל האתר הרשמי של php, או במדריכים אחרים...

בעקרון זה תלוי באיזו דרך אתה בונה את השאילתה (פרמטרים ו-sp הכי טוב)
אבל העקרונות מאוד דומים.


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
aarst
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 13 May 2007 בשעה 02:16 | IP רשוּם
ציטוט aarst

higuys!What yourblog powered by?
חזרה לתחילת העמוד הצג את כרטיס החבר של aarst חפש הודעות אחרות של aarst בקר בדף הבית של aarst
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 14 August 2007 בשעה 18:02 | IP רשוּם
ציטוט אלצ'קו

ניר כתב:
לאחר שהגדרנו משתנה session, ניתן לפנות אליו באותו שם.
למשל, התנאי הבא שואל האם משתנה ה-session validLogin הוא true:

קוד:
if (Session("validLogin") = true) Then
    ...
End If



זו שיטה מסוכנת להחריד שמזכירה את המילניום הקודם מבחינת צורת תכנות. בעצם אתה צריך לכתוב "בלוק הגנה" כזה בכל דף שלך, שלא להזכיר את זה שזה לא מאפשר לך להגן על דפים שאינם דפי ASP (מה עם דפי HTML, או תמונות, או כל קובץ אחר שיש על השרת שלך?). אז נניח שתהפוך את כל הדפים שלך לדפי ASP, ושאין לך קבצים שאינם קבצי ASP שאתה רוצה להגן עליהם, עדיין - מה יקרה אם תשכח להוסיף בלוק הגנה כזה לאחד הקבצים? ולמה שבכלל תצטרך לעשות את אותה עבודה שוב ושוב ושוב? "code reuse" איננה מילה גסה, ולחזור סתם כך על אותו קוד שוב ושוב לא מתאימה לשנת 2007, אולי לשנת 1957...
פתרון שמקבל ציון 1/10 הוא יצירת קובץ ASP שייראה בערך כך:
קוד:
If isUserAuthenticated() = False Then
    Response.Clear
    Response.End
End If

או כך:
קוד:
If isUserAuthenticated() = False Then Server.Transfer(errPage & "?url=" & Request.ServerVariables("URL"))

ולעשות לו אינקלוד בכל אחד מקבצי ה-ASP שלנו.
זה חוסך לנו קצת כתיבת קוד חוזרת (השגיאה נמצאת רק במקום אחד, קל לשנות את ההתנהגות, וכו'), אבל עדיין משאירה אותנו עם שאר הבעיות.

אז מה הפיתרון הנכון? בעליל, לחסום גישה לשרת אם המשתמש איננו מאומת. אבל איך עושים את זה? פיתרון אחד עשוי להיות כתיבת ISAPI filter שישב על כל הגישות לשרת, ויבדוק אילו מהן מאושרות ואילו לא. כתיבת פילטר ISAPI מסובכת בסדר גודל מכתיבת קוד ASP, אך עם זאת היא פותרת את כל הבעיות שציינתי קודם:
  • אתה לא ממחזר קוד
  • אתה לא יכול לשכוח לשים בלוק הגנה כי אין בלוק הגנה
  • זה מגן על כל הקבצים
כמובן שבקוד טוב כל הדברים הללו יהיו קונפיגורביליים: יהיה קובץ הגדרה או טבלה במסד נתונים שתגדיר סיומות קבצים או RegExp-ים שעליהם צריך להגן.
היתרונות הנוספים ברורים מאליהם:
  • זה מהיר יותר
  • זה שקוף לאפליקציה. קוד ASP לא צריך להתעסק באימות.
הפיתרון הזה מקבל 8/10 בקלות, ולא 10, פשוט כי כתיבה של קוד כזה היא עסק מייגע ולא נעים (יחסית לשלוש שורות VBS שעליהן מדובר כרגע).

יכול להיות שאפשר גם עם IIS Application/Web Classes של VB6 לממש פיתרון דומה, אבל זו טכנולוגיה שלא באמת הצליחה, ולכן אולי לא כדאי להשתמש בה (למרות שהיא בוודאי תהיה פשוטה יותר מכתיבת ISAPI filter).
חזרה לתחילת העמוד הצג את כרטיס החבר של אלצ'קו חפש הודעות אחרות של אלצ'קו
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 14 August 2007 בשעה 18:18 | IP רשוּם
ציטוט shoshan

תרשה לי טיפונת להרים גבה...

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

וברוב האתרים גם ככה יש מערכת ענפה של includeים [code reuse]

ולסיכום, אם כבר 2001 ולא 2007


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 14 August 2007 בשעה 20:07 | IP רשוּם
ציטוט אלצ'קו

אתה יכול להרים גבה, ואפילו שתיים (יותר אני מתאר לעצמי שיהיה לך קצת קשה), אבל זה לא ישנה דבר: רוב האתרים בגודל בינוני ומעלה לא מסתפקים בעשיריות פיתרון כאלה - איך לדעתך imageshack מונעים hotlinking? עם דפי ASP שמגנים על התמונות?

אגב, יש בשעון המחשב שלך בעיה. איכשהו הוא חזר 6 שנים אחורה...
חזרה לתחילת העמוד הצג את כרטיס החבר של אלצ'קו חפש הודעות אחרות של אלצ'קו
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 14 August 2007 בשעה 20:36 | IP רשוּם
ציטוט shoshan

טוב, טין לי כוח להתווכח, החלטת לקחת מקרה קצה שזה הפתרון עבורו ולהניף דגל.


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 14 August 2007 בשעה 21:50 | IP רשוּם
ציטוט אלצ'קו

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


הצטרף / הצטרפה: 10 August 2007
משתמש: מנותק/ת
הודעות: 86
נשלח בתאריך: 14 August 2007 בשעה 23:16 | IP רשוּם
ציטוט elseif

צריך להזכיר לבדוק את הקלט לגבי תגיות HTML , SQL , PHP גם ב JAVASCRIPT וגם בשרת , לעשות משפטי SQL שלא קשורים בגודל האותיות (BINARY) וגם לדאוג שלא יהיה אפשר להוריד את מסד נתונים מהשרת ( ב IIS זה כבר ככה ), תמיד להעביר טופס ב .POST

רמות מישתמשים :

אני לא יודע איך הכי טוב לעשות את זה אבל הנה דוגמה לאיך שאני היתי עושה את זה תמיד  :
הסיישן שבן אדם מקבל הוא מספר שלם (ולא בוליאני) לדוגמה :

4 - מנהל
3 - סגן מנהל
2 - מנכל
1 - משתמש רגיל
0 - מבקר ( מישהו לא רשום )

ואז אפשר להתייחס למשתמשים עם (גדול , שווה , קטן ושונה )

קוד:

if (Session ("user")>2) then
...
else
...
End if



זהו קוד שמתיחס לכול בתפקידים הגבוהים
חזרה לתחילת העמוד הצג את כרטיס החבר של elseif חפש הודעות אחרות של elseif
 
ifi15
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 19 December 2007
משתמש: מנותק/ת
הודעות: 2
נשלח בתאריך: 19 December 2007 בשעה 17:27 | IP רשוּם
ציטוט ifi15

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

חזרה לתחילת העמוד הצג את כרטיס החבר של ifi15 חפש הודעות אחרות של ifi15
 
0xfo7d
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 05 August 2007
משתמש: מנותק/ת
הודעות: 15
נשלח בתאריך: 03 January 2008 בשעה 15:23 | IP רשוּם
ציטוט 0xfo7d

יותר חכם לעשות ב PHP, לא מבחינה טכנית אלא מבחינת תמחור

__________________
בניית אתרים | אחסון אתרים | קידום אתרים
חזרה לתחילת העמוד הצג את כרטיס החבר של 0xfo7d חפש הודעות אחרות של 0xfo7d
 
אלעד
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 21 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 166
נשלח בתאריך: 05 September 2008 בשעה 18:29 | IP רשוּם
ציטוט אלעד

בדיוק עכשיו אני חושב על הבעיה הזאת, אבל ב C# ASP .net  .

 

אם תוכל לעשות מדריך ולהשתמש בפקד המובנה של LOGIN שיש ב VS תוכל להגן על תקיות שלמות, הבעיה היא שהוא עובד רק עם MS SQL SERVER וזה עולה הרבה כסף והשרתים לוקחים כסף בשביל להשתמש באפשרות הזאת .

 

מה שכן שמעתי שאפשר להוריש את הפקד ולשנות את הSQL PROVIDER שיעבוד עם ACCESS DB ואז זה פותר לנו מלא בעיות, הבעיה היא שאיבדתי את הדף בגוגל ואני לא מצליח למצוא אותו שוב, בנוסף אני לא יכול לשנות את האתר שלי באמצע בגלל בעיות זמן אבל אם תכניס את זה זה יהיה ממש מצוין .

 



__________________
כן?
לא?
שחור לבן.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלעד חפש הודעות אחרות של אלעד
 
מיכל
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 30 May 2009 בשעה 16:55 | IP רשוּם
ציטוט מיכל

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

חזרה לתחילת העמוד הצג את כרטיס החבר של מיכל חפש הודעות אחרות של מיכל בקר בדף הבית של מיכל
 
OnlyKid
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 25 February 2011
מדינה: Israel
משתמש: מנותק/ת
הודעות: 2
נשלח בתאריך: 25 February 2011 בשעה 19:33 | IP רשוּם
ציטוט OnlyKid

אתה כותב פוא בVB לא ב C# נכון?

__________________
בברכה, רפאל
חזרה לתחילת העמוד הצג את כרטיס החבר של OnlyKid חפש הודעות אחרות של OnlyKid בקר בדף הבית של OnlyKid
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 25 February 2011 בשעה 21:49 | IP רשוּם
ציטוט shoshan

מממ...זה ASP, לא ASP.NET

__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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