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

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

SmsBanner.net 23-06-07 16:04

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

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

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

תודה,
איגור

חיים 23-06-07 16:19

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

SmsBanner.net 23-06-07 16:35

ציטוט:

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

תודה חיים,

השאלה היא איך לבצע את זה בצורה כזו שהעוגיה תהיה מאובטחת ושהסיכוי לגנוב אותה יהיה כמה שיותר נמוך?

Daniel 23-06-07 16:38

לוח בקרה של משהו שקשור בכסף?
סשנס, בלי שום היסוס.


סשנס שנשמרים למקסימום שעתיים + IP = מצויין.


במקרה שזה לא קשור למשהו -ממש- רציני, תשתמש בקוקיס עם ID + הסיסמה המוצפנת בהצפנה חד צדדית + מספר התחברות.
אם אתה ממש רוצה, אתה מוזמן להצפין את זה 4 פעמים ב-MD5, במקום רק פעם אחת, וכך לבדוק WHERE id = 'Cookie ID', ולבדוק האם ה-md5(md5(md5($row['pass))) שווה לקוקיס password.

למרות שאולי זה יאריך את הטעינה של הדף במאית שניה.

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

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

mlnn 23-06-07 16:46

אם אתה לא רוצה שיגנבו למשתמשים שלך עוגיות, אל תשאיר מקום לXSS.
עריכה:

אני רואה אני לא קשור :P
תשמור בקוקי userName + MD5.

MasterT,
למה לו לשמור מספר התחברויות? או שזה מספר התחברות? [מה זה?]

LosNir 23-06-07 16:51

אני מצאתי דרך ממש נחמדה:

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

ID, שם משתמש, סיסמא ו string

ה string זה אותיות רנדומאליות שנוצרות בהתחברות ,את ה string שיצא אתה מכניס לעוגיה.

בהתחברות, אם העוגיה קיימת תשלוף את ה string ותבדוק אם הוא קיים במסד.
אם לא, תציג התחברות.
אם כן, תשלוף את השם משתמש והסיסמא שבמסד ותאמת אותם.

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

* ה string כולל אותיות גדולות, קטנות, סימנים ומספרים.

SmsBanner.net 23-06-07 17:03

ציטוט:

נכתב במקור על ידי LosNir (פרסם 505430)
אני מצאתי דרך ממש נחמדה:

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

ID, שם משתמש, סיסמא ו string

ה string זה אותיות רנדומאליות שנוצרות בהתחברות ,את ה string שיצא אתה מכניס לעוגיה.

בהתחברות, אם העוגיה קיימת תשלוף את ה string ותבדוק אם הוא קיים במסד.
אם לא, תציג התחברות.
אם כן, תשלוף את השם משתמש והסיסמא שבמסד ותאמת אותם.

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

* ה string כולל אותיות גדולות, קטנות, סימנים ומספרים.


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

Daniel 23-06-07 17:09

דווקא לא....,
זה בערך מה שאני אמרתי.

זה דמוי סשן.

SmsBanner.net 23-06-07 17:12

אני אשאל את השאלה שלי אחרת,
איך אתם [בעלי האתרים] מאמתים את פרטי המשתמשים שלכם?

LosNir 23-06-07 17:13

ציטוט:

נכתב במקור על ידי SmsBanner.net (פרסם 505445)
מה הרעיון מאחורי זה?
תמיד הנתונים יהיו זהים.. תמיד המשתמש יהיה רשאי להכנס...
ולא עשינו בזה כלום..

מה הקשר?

סטרינג רנדאומלי אמרתי.


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

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