ציטוט:
נכתב במקור על ידי Deagly
במסד נתונים בטבלה של המשתמשים תוסיף עוד שדה שבסופו של דבר יכיל קוד רנדומלי
תקרא לשדה לדוגמא hash
כשהמשתמש מתחבר תיצור קוד רנדומלי
סתם לדוגמא (אתה יכול ליצור את הקוד איך שבא לך, העיקר חשוב שיהיה יחודי):
קוד:
$hash = md5(rand(1,9999)."This is my unique hash".uniqid());
כשהמשתמש מתחבר אתה שומר את הקוד HASH הזה ב SESSION/COOKIE וגם עושה UPDATE לשדה HASH שיצרת ברשומה של אותו משתמש (בין היתר עם עוד מה שאתה צריך)
לאחר מכן אתה מוודא תמיד שה HASH ב COOKIE/SESSION זהה לשדה HASH של המשתמש בטבלת משתמשים,
אם לא אתה מנתק אותו, אם זהה אז אתה משאיר אותו מחובר (או לא עושה שום פעולה יותר נכון).
עכשיו אם תיכנס למחשב אחר (או דפדפן אחר) ותתחבר למשתמש מחדש, מה שיקרה זה שיווצר קוד HASH חדש ויעשה UPDATE לרשומה של המשתמש במסד ואז הקוד HASH של המשתמש הראשון לא זהה וזה ינתק אותו ברגע שהוא ינסה להיכנס לאתר עם אותו פרטי משתמש.
מקווה שהבנת
ערב טוב.
|
סיבכת את העניין.
פשוט בכל התחברות לאתר שים את האיפי שלך במסד ע"י פונקציה UPDATE ב-SQL,
ותיצור תנאי שישווה אם האייפי שלך שונה מזה של המסד => התנתק.
זה הכלל..
אתה כתבת 10+ שורות.
אני סיכמתי את העניין ב2 שורות.