הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   קוקיז או סשן? מה עדיף? (https://hosts.co.il/forums/showthread.php?t=18862)

eLad 02-04-06 19:07

ציטוט:

נכתב במקור על ידי SsH S Scripts
איזה 2 נתונים יכולים לאמת משתמש חוץ מID או USER וסיסמא?
עריכה: ושלא יהיה קל לזייף כי אז כל הרעיון שלך הלך שוב

או, שאלה יפה שאלת, אבל התשובה שלי יותר יפה :-D

בעת ההרשמה, אני קולט שני פרמטרים מהמשתמש נכון? userID ו userPassword.
בשדה נוסף במסד, נקרא לו randNumber אני יוצר בעצמי (המשתמש לא קשור לזה) מספר רנדומאלי של איזה 8 ספרות ומוודא שהוא לא חוזר על עצמו (כלומר לא קיים ברשומות לפני זה).

ואני שומר בעוגייה שני פרמטרים: userID ו randNumber מוצפנים (שים לב, במסד הם בצורה רגילה!).

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

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

meshuga 02-04-06 19:09

ציטוט:

נכתב במקור על ידי eLad
או, שאלה יפה שאלת, אבל התשובה שלי יותר יפה :-D

בעת ההרשמה, אני קולט שני פרמטרים מהמשתמש נכון? userID ו userPassword.
בשדה נוסף במסד, נקרא לו randNumber אני יוצר בעצמי (המשתמש לא קשור לזה) מספר רנדומאלי של איזה 8 ספרות ומוודא שהוא לא חוזר על עצמו (כלומר לא קיים ברשומות לפני זה).

ואני שומר בעוגייה שני פרמטרים: userID ו randNumber מוצפנים (שים לב, במסד הם בצורה רגילה!).

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

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

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

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

eLad 02-04-06 19:15

ציטוט:

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

חס וחלילה. הוא לא צריך להקיש סיסמא כל כניסה.. אחרת מה הטעם פה?

כנראה שלא הבנת עד הסוף את השיטה |Rolleyes|

מסרים?
מסנג'ר - elad86@gmail.com (אם מישהו אחר מוסיף אותי, תזדהו!)

Eye-Soft 02-04-06 19:30

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

הגולש לא הקיש שום סיסמא. זה כל הרעיון. אתה אמור לזכור את הסיסמא שהוא הקיש, כדי שהוא תמיד יהיה מזוהה.

HighA 02-04-06 19:31

אני לא הבנתי
אני אשמח לשמוע
בדיוק מה שeye-soft אמר

somebody 02-04-06 19:47

דווקא מאוד מובן מה שהוא אמר(אלעד).

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

יש לו בטבלה של המשתמשים במסד את כל הפרטים הרגילים ועוד עמודה לדוגמא בשם CODE ובה הוא מזין את הקוד שנוצר.
לעוגיה הוא מוריד את ID המשתמש+הקוד הרנדומלי ואז הוא מבצע בדיוק מה שכולם מבצעים רק עם הקוד הרנדומלי שהוא לא הסיסמא.
ככה שאם נגיד גנבו עוגיה למשהו אז אם ישימו את הקוד הרנדומלי בסיסמא אז זה לא יהיה נכון.

miniature 02-04-06 19:48

אחלה שיטה אלעד. :)

HighA 02-04-06 19:49

אבל אז למה צריך סיסמא?

meshuga 02-04-06 19:50

ציטוט:

נכתב במקור על ידי somebody
דווקא מאוד מובן מה שהוא אמר(אלעד).

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

יש לו בטבלה של המשתמשים במסד את כל הפרטים הרגילים ועוד עמודה לדוגמא בשם CODE ובה הוא מזין את הקוד שנוצר.
לעוגיה הוא מוריד את ID המשתמש+הקוד הרנדומלי ואז הוא מבצע בדיוק מה שכולם מבצעים רק עם הקוד הרנדומלי שהוא לא הסיסמא.
ככה שאם נגיד גנבו עוגיה למשהו אז אם ישימו את הקוד הרנדומלי בסיסמא אז זה לא יהיה נכון.

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

HighA 02-04-06 19:50

הוא התנתק לי באמצע :\
לא הבנתי למה צריך סיסמא

null 02-04-06 19:53

לא מובן לי את הקטע שהמשתמש מקיש סיסמה.
אחרי אם הוא מסמן "זכור אותי" זה שומר רק ID ומס' רמדומלי קבוע למשתמש
אז אם איפה בידיוק הוקשה הסיסמה?

miniature 02-04-06 19:56

אלעד, אם הוא לא מסמן 'זכור אותי' מה קורה? :rolleyes:

null 02-04-06 19:59

ציטוט:

נכתב במקור על ידי miniature
אלעד, אם הוא לא מסמן 'זכור אותי' מה קורה? :rolleyes:

לא נוצר קוקי?

somebody 02-04-06 19:59

ציטוט:

נכתב במקור על ידי miniature
אלעד, אם הוא לא מסמן 'זכור אותי' מה קורה? :rolleyes:

אז לא מושתל קוקיז על המחשב ורק מופעל SESSION עם הקוד הרנדומלי+ה ID.
או יכול להיות שרק קוקיז שיש בו ערך שמאשר.

Eye-Soft 02-04-06 20:30

ציטוט:

נכתב במקור על ידי somebody
דווקא מאוד מובן מה שהוא אמר(אלעד).

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

יש לו בטבלה של המשתמשים במסד את כל הפרטים הרגילים ועוד עמודה לדוגמא בשם CODE ובה הוא מזין את הקוד שנוצר.
לעוגיה הוא מוריד את ID המשתמש+הקוד הרנדומלי ואז הוא מבצע בדיוק מה שכולם מבצעים רק עם הקוד הרנדומלי שהוא לא הסיסמא.
ככה שאם נגיד גנבו עוגיה למשהו אז אם ישימו את הקוד הרנדומלי בסיסמא אז זה לא יהיה נכון.

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

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

HighA 02-04-06 20:36

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

miniature 02-04-06 21:29

אבל מדוע צריך סיסמא לפי השיטה הזאת?

Balrog 02-04-06 22:13

כמו ש Eye-Soft אמר.
 
ציטוט:

נכתב במקור על ידי Eye-Soft
וזה מאובטח בדיוק כמו לשים סיסמא. אני מעתיק את הCOOKIE הזה ושם אותו אצלי והופה. בדיוק כמו סיסמא, רק שליצור את הקוד הזה ולבדוק האם הוא לא חוזר שוב אצל שום משתמש (ונגיד ויש 400 אלף משתמשים) זה רע.

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

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

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

וכנראה שאנחנו המתכנתים ממש נואשים למצוא דרכים בטוחות לבנות אתר. מתי נמצא דרך בטוחה יותר?

eLad 03-04-06 14:41

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

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

בכל התחברות מחדש (אחרי התנתקות יזומה) של המשתמש בפורום שלי, אני מחליף את הקוד הרנדומאלי שיצרתי בקוד רנדומאלי אחר.

ציטוט:

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

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

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

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

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

miniature 03-04-06 14:43

לא הבנתי איפה הסיסמא נכנסת בכל העניין..

eLad 03-04-06 14:49

ציטוט:

נכתב במקור על ידי miniature
לא הבנתי איפה הסיסמא נכנסת בכל העניין..

אתה סה"כ שומר אותה בעת ההרשמה ומוודא קיומה בעת ביצוע login בטופס שלך. זה הכל.

miniature 03-04-06 17:00

ציטוט:

נכתב במקור על ידי eLad
אתה סה"כ שומר אותה בעת ההרשמה ומוודא קיומה בעת ביצוע login בטופס שלך. זה הכל.

אבל למה אתה משווה אותה כשהמשתמש נכנס בפעם השניה לדף?

eLad 03-04-06 17:18

ציטוט:

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

אני לא משווה אותה -

ציטוט:

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


Eye-Soft 03-04-06 17:40

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

eLad 03-04-06 17:56

ציטוט:

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

סלח לי אבל אתה אומר שטויות.. |:

ציטוט:

מי שהתחבר עם הCOOKIE של אותו האדם (בעזרת אותה הדרך שפורצים למי שיש עוגיה עם סיסמא מוצפנת) יוכל להתנתק ולהתחבר מחדש.
איך בדיוק הוא יוכל להתחבר? אין לו את הסיסמא!
בשיטה שלך שאתה שומר את הסיסמא מוצפנת בעוגייה אפשר לפענח את הסיסמא ואז להיכנס מחדש..

null 03-04-06 18:21

אז השרת יודע שהעוגיה לא גנובה?
!?

eLad 03-04-06 19:11

ציטוט:

נכתב במקור על ידי HamuZ
אז השרת יודע שהעוגיה לא גנובה?
!?

??

HighA 03-04-06 20:31

אני הבנתי את השיטה, רעיון מעולה דווקא
אבל לא הבנתי איך אפשר לגלות את הסיסמא מהMD5


כל הזמנים הם GMT +2. הזמן כעת הוא 05:38.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ