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

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

-VladK- 28-07-06 20:43

שיטת ההתחברות הטובה ביותר ?
 
שלום.

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

יש רעיונות למשהו כיצד לעשות את זה?

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

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

בנוגע להתנתקות...הIP של המשתמש נמחק מהמסד וכך הוא לא מחובר יותר....

ובכן...האם הדרך שלי טובה? האם יש לכם רעיונות לשיפור הדרך? / רעיון יעיל יותר?

תודה מראש |כן|

mlnn 28-07-06 20:51

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

-VladK- 28-07-06 20:54

ציטוט:

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

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

Johnny 28-07-06 21:02

SESSION לאתר גדול (אמרת מערכת) זה לא טוב
תשתמש בעוגיות

שימוש ב IP יעשה צרות

-VladK- 28-07-06 21:10

ציטוט:

נכתב במקור על ידי Johnny
SESSION לאתר גדול (אמרת מערכת) זה לא טוב
תשתמש בעוגיות

שימוש ב IP יעשה צרות

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

mlnn 28-07-06 21:11

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

-VladK- 28-07-06 21:18

ציטוט:

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

ואני לא ממש רוצה לעבד אותו אחוז XD חחחח בכל זאת...אתם לא עונים לי על השאלה...האם זו שיטה טובה? או שאתם יכולים להמליץ לי על משהו אחר ?

HighA 28-07-06 21:23

אני בזמן האחרון התחלתי להשתמש בSESSION
זה טוב, ואתה יכול לקחת את תשעה ועשות בכל דף פונקציה(היא אחת אבל מופעלת בכל דף) שבודקת עם עברו 12 שעות אז זה מנתק ומחבר מחדש

BlueNosE 28-07-06 21:44

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

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

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

-VladK- 29-07-06 05:30

ציטוט:

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

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

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

אוקי...

אההההם...יש איזה פונקציה שבודקת אם המשתמש ניטרל עוגיות? [PHP]

WebProject 29-07-06 07:57

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

-VladK- 29-07-06 08:12

ציטוט:

נכתב במקור על ידי WebProject
פשוט, כמו שאמר עומר, עוגיות וסשן, לדוגמא, עכשיו במערכת הCMS החדשה שלי, בניתי מודול להתחברות, ושמה פשוט יש כפתור "זכור אותי", אם המשתמש לא בחר את התיבה, הוא יתחבר בעזרת סשן, וכמו ההגדרה של סשן, לאחר סגירת הדפדפן, הסשן ימחק, והמשתמש יתנתק =]

בעעע... :-/ לא רוצה להשתמש בעוגיות...אבל אין לי ברירה...טוב אההההם יש לכם רעיונות כיצד אפשר לאבטח שימוש בעוגיות?

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

עכשיו...יש את הסיכון שהעוגיות יגנבו...כיצד ניתן למנוע זאת...כאילו שימוש בעוגיות גנובות...

WebProject 29-07-06 08:15

ציטוט:

נכתב במקור על ידי DreaMonster
בעעע... :-/ לא רוצה להשתמש בעוגיות...אבל אין לי ברירה...טוב אההההם יש לכם רעיונות כיצד אפשר לאבטח שימוש בעוגיות?

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

עכשיו...יש את הסיכון שהעוגיות יגנבו...כיצד ניתן למנוע זאת...כאילו שימוש בעוגיות גנובות...

לא הבנתי ממה אתה רוצה להגן אותה? משינו הID לID של משתמש אחר?

כי אם כן, תריץ פונקציה פשוט, שתתאים את העוגייה של הID לעוגייה של הסיסמא..

-VladK- 29-07-06 08:22

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

עכשיו...

יש את הסיכון שיפרצו למחשב של משהו

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

WebProject 29-07-06 08:25

אממ.... את האמת, אין לי מושג, אבל שוב, מקרה כזה יקרה פעם בהרבה זמן, אם הוא יקרה בכלל =]

-VladK- 29-07-06 08:29

ציטוט:

נכתב במקור על ידי WebProject
אממ.... את האמת, אין לי מושג, אבל שוב, מקרה כזה יקרה פעם בהרבה זמן, אם הוא יקרה בכלל =]

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

BlueNosE 29-07-06 09:15

"פונקציה"?
תכין.
PHP קוד:

setcookie ("test"truetime()+5000);
if (
$_COOKIE['test'] != true)
{
setcookie ("test"truetime()-5000);
header ("Location: nocookie.php");
}
setcookie ("test"truetime()-5000); 


-VladK- 29-07-06 09:29

ציטוט:

נכתב במקור על ידי BlueNosE
"פונקציה"?
תכין.
PHP קוד:

setcookie ("test"truetime()+5000);
if (
$_COOKIE['test'] != true)
{
setcookie ("test"truetime()-5000);
header ("Location: nocookie.php");
}
setcookie ("test"truetime()-5000); 


אההההההם למה אתה יוצר פה 3 פעמים את אותה העוגיה?

eLad 29-07-06 10:35

ציטוט:

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

עכשיו...

יש את הסיכון שיפרצו למחשב של משהו

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

סיכוי יותר גדול שימצאו לך באתר XSS מאשר שיפרצו למחשב של מישהו.

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

ואני לא מבין את הבעיה בין לבחור SESSION או COOKIE, המטרות שלהם שונות בתכלית.

-VladK- 29-07-06 10:41

ציטוט:

נכתב במקור על ידי eLad
סיכוי יותר גדול שימצאו לך באתר XSS מאשר שיפרצו למחשב של מישהו.

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

ואני לא מבין את הבעיה בין לבחור SESSION או COOKIE, המטרות שלהם שונות בתכלית.

דבר ראשון מה זה XSS?

דבר שני...אאההההם...המטרות דומות...עכשיו בזכות האף הכחול (עומר) יש לי עכשיו דרך מעולה..אני לא יספר עליה...מטעמי מבטיחות ;P אבל זה קשור בבדיקה אם המשתמש כיבה עוגיות :D

ובכן....אני ישמח אם תענו לי בקשר לXSS...בקשר לשאר, הכל פתור :D

eLad 29-07-06 10:43

ציטוט:

נכתב במקור על ידי DreaMonster
דבר ראשון מה זה XSS?

דבר שני...אאההההם...המטרות דומות...עכשיו בזכות האף הכחול (עומר) יש לי עכשיו דרך מעולה..אני לא יספר עליה...מטעמי מבטיחות ;P אבל זה קשור בבדיקה אם המשתמש כיבה עוגיות :D

ובכן....אני ישמח אם תענו לי בקשר לXSS...בקשר לשאר, הכל פתור :D

Cross Site Scripting

ומה זו בדיוק השיטה הכי מאובטחת?

-VladK- 29-07-06 11:13

ציטוט:

נכתב במקור על ידי eLad
Cross Site Scripting

ומה זו בדיוק השיטה הכי מאובטחת?

למה משמש הXSS? וזו לא השיטה הכי מאובטחת...כי כמעט כל שיטה אפשר לפרוץ...השאלה אם מגלים אותה...השיטה שלי זה שילוב של כמעט כל מה שאמרתם פה, עם כמה עצות של חברים טובים...וכמה רעיונות שהמצאתי ;P ביחד זה יוצא מערכת קצת מסורבלת אבל לפחות יעילה.....:D

AFI 29-07-06 11:34

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

זאת שיטה מאובטחת,
שיהיה בהצלחה.

RS324 29-07-06 12:18

דבר ראשון, אני לא משתמש ב SESSION המובנה ב PHP, אני משתמש במערכת נפרדת שבניתי של SESSION ב DB שבעזרתה אפשר לנטר גם פעילות במערכת ועוד כמה דברים (כמו כמה משתמשים מחוברים עכשיו ?)
בכל מקרה, אני שומר כזה דבר ב SESSION :
useragent
userip
loggedin
lastvisit
userid
sessionid

אני מגדיר בכל מערכת SESSION_TIMEOUT שאני רוצה לדוגמא 3600 - שעה
וגם אני מגדיר בכל מערכת COOKIE_SECURITY_SALT
ואז על העוגיה אני שומר USERID
וסיסמא, כאשר את הסיסמא (שהיא גם ככה מוצפנת) עוברת הצפנה נוספת והפעם בתופסת של התווים שהגדרתי בקבצי מערכת.
לדוגמא :
securitycode = o21ki399fd3r3n4pls;ldk0e3`dfdl

עכשיו אני לוקח את הסיסמא ועושה
md5($securitycode.$password.$securitycode)
עכשיו ה SESSION VALID לשעה בערך

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

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

בכל מקרה אני מגדיר את ה TIMEOUT לשעה ככה שזה לא קריטי לי

קיצר יש לי מערכת בת-*** לזה, ורק 2 שאילתות לדף
בכל


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

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