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

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

Erez | TrustMedia.co.il 22-12-08 16:55

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

ibmod 22-12-08 16:59

ציטוט:

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

לרוב לקוחות האינטרנט הפרטיים בעלי אייפי דינאמי משמע האיפי מתחלף
דוגמא:המשתמש TEST נכנס עם האיפי 123.123.123.123 לאחר כמה זמן "הפעיל מחדש" את האינטרנט והאייפי שלו הוחלף האייפי הקודם שלו הועבר למשתמש X שבמידה והוא נכנס לפאנל שלך הוא יתחבר כמשתמש TEST

vadimg88 22-12-08 17:16

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

Erez | TrustMedia.co.il 22-12-08 17:46

ציטוט:

נכתב במקור על ידי ibmod (פרסם 688160)
לרוב לקוחות האינטרנט הפרטיים בעלי אייפי דינאמי משמע האיפי מתחלף
דוגמא:המשתמש TEST נכנס עם האיפי 123.123.123.123 לאחר כמה זמן "הפעיל מחדש" את האינטרנט והאייפי שלו הוחלף האייפי הקודם שלו הועבר למשתמש X שבמידה והוא נכנס לפאנל שלך הוא יתחבר כמשתמש TEST

בשביל זה הוספתי את החלק של הקוקיז עם הקוד

ציטוט:

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

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

intercooler3819 22-12-08 18:14

מה שאתה מציע זה כמו לעשות לוגין בGET

אתה פשוט מקמבן כל מיני משתנים (ID+USER+PASS+SALTER+SALTER2) לתוך איזה UNIQUE STRING
את הסטרינג הזה אתה מזרים בכתובת בכל עמוד שבו הוא גולש

בכל עמוד אתה מפענח אותה ומוציא ממנה את הסיסמא יוזר וכו'

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

בהצלחה

Erez | TrustMedia.co.il 22-12-08 18:58

ציטוט:

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

אתה פשוט מקמבן כל מיני משתנים (ID+USER+PASS+SALTER+SALTER2) לתוך איזה UNIQUE STRING
את הסטרינג הזה אתה מזרים בכתובת בכל עמוד שבו הוא גולש

בכל עמוד אתה מפענח אותה ומוציא ממנה את הסיסמא יוזר וכו'

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

בהצלחה

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

ibmod 22-12-08 19:07

ציטוט:

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

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

Erez | TrustMedia.co.il 22-12-08 19:59

ציטוט:

נכתב במקור על ידי ibmod (פרסם 688177)
אממ תחשוב על זה שיש כאלה שעובדים עם תוכנות אשר משנות את האייפי כל X זמן ולהם זה חיסרון.

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

בניה 22-12-08 21:37

שאלה:למה אתה צריך אבטחה כזו מסורבלת שלא בטוח תועיל במשהו?
אם יש סיכוי שהIP שלו משתנה,אז התיחסות לIP בהתחברות זה דבר מיותר.
ואם זו מערכת ממש אבל ממש קריטית אז אפשר לעשות שהוא יעדכן את הIP שלו בFTP או את השם משתמש והסיסמא ואז יתחבר.
או לעשות משהו שרץ על המחשב שלו ועושה את זה.
או לעשות שאפשר להתחבר רק מVPN או כל מיני דברים אם מדובר במשהו שאמור להיות ממש מאובטח.

Erez | TrustMedia.co.il 22-12-08 21:40

ציטוט:

נכתב במקור על ידי בניה (פרסם 688214)
שאלה:למה אתה צריך אבטחה כזו מסורבלת שלא בטוח תועיל במשהו?
אם יש סיכוי שהIP שלו משתנה,אז התיחסות לIP בהתחברות זה דבר מיותר.
ואם זו מערכת ממש אבל ממש קריטית אז אפשר לעשות שהוא יעדכן את הIP שלו בFTP או את השם משתמש והסיסמא ואז יתחבר.
או לעשות משהו שרץ על המחשב שלו ועושה את זה.
או לעשות שאפשר להתחבר רק מVPN או כל מיני דברים אם מדובר במשהו שאמור להיות ממש מאובטח.

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

ASTeam 23-12-08 12:13

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

SniR-S 23-12-08 12:20

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

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

Erez | TrustMedia.co.il 23-12-08 12:46

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

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

Adir 23-12-08 13:03

ציטוט:

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


לידיעתך אפשר לערוך גם Sessions...
יש לי תוסף בFF, אפשר לערוך דרכו קוקיס וסיישנים

ASTeam 23-12-08 14:52

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

Adir 23-12-08 15:16

ציטוט:

נכתב במקור על ידי ASTeam (פרסם 688288)
אשמח שתביא לי אותו
לפי מה שידוע לי מה שאתה כן יכול לשנות זה את session id שנשמר אצלך. הסיישן עצמו שמור על השרת.
ארז - הסיישן עצמו נשמר לתקופה מוגבלת שאתה בוחר(הברירת מחדל קבועה בקובץ ההגדרות של PHP) ומה שימחק זה הקוקיז שגם נקבע על ידך.
{וכן כמו שאמרו במקרה הקיצוני הIP יכול להתחלף בין משתמשים...)

https://addons.mozilla.org/he/firefox/addon/573

שים לב בתיאור:
ציטוט:

Cookie Editor that allows you add and edit "session" and saved cookies

בניה 23-12-08 19:45

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

Deagly 23-12-08 20:28

ציטוט:

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

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

Erez | TrustMedia.co.il 23-12-08 20:34

ציטוט:

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

רעיון יפה
תודה לך

בניה 23-12-08 20:43

ציטוט:

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

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

Erez | TrustMedia.co.il 23-12-08 20:59

ציטוט:

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

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

בניה 23-12-08 21:04

ציטוט:

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

תיקון להודעה שלי,שחכתי משהו חשוב;P

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

Erez | TrustMedia.co.il 23-12-08 21:45

עכשיו זה טוב
תודה על הרעיון :)


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

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