![]() |
# 1 |
חבר מתקדם
|
שליפת נתונים ע"י ID - COOKIE
אני בודק אם השם משתמש והסיסמא שהוכנסו שווים למה שיש במסד,
אם כן אני שולף בהתאם את ה ID ומכניס אותו לעוגיה. ולאחר מכן אני רוצה לשלוף נתונים ע"י ה ID שבעוגיות, לדוגמה גישות. אבל זה לא מאובטח, יש לכם רעיון אחר כיצד לעשות את זה? |
![]() |
![]() |
# 2 |
חבר וותיק
|
אתה שומר בעוגייה נתונים שם שם משתמש וסיסמא עם האש(MD5 לצורך העניין) שהמשתמש הקליד. ניתן לשמור את הנתונים במבנה של מערך או json או מערך עוגיות או על פי סכמה משלך(הפרדה באמצעות : וכד').
אפשר להצפין את המידע הסופי בהצפנה דו-כיוונית כלשהי(base64 לדוגמא) לצורך סיבוך שליפת המידע באופן ידני, אך מנגד הדבר עשוי להקשות על הפיתוח והדיבאגינג(אם תשאל אותי- עדיף בלי). בקו. |
![]() |
![]() |
# 3 |
חבר מתקדם
|
טעות שלי, פשוט התבלבלתי קצת וכנראה ששכחתי שהנתונים
שיש במסד מוצפנים (הסיסמא לצורך העניין) כמו שהם מוצפנים בעוגיה ואפשר להשוות בינהם .. בכל מקרה תודה, יש לי עוד שאלה קצת אחרת. יש לי את הקוד הבא (לבדוק אם קיים משתמש, אם כן להציג שגיאה) PHP קוד:
גם במידה ויהיו הרבה משתמשים, השאילתה הזו תיקח הרבה משאבים, אבל אין לי רעיון טוב יותר כרגע, מכיוון שאם אני עושה דבר כזה: PHP קוד:
אם יש לי במסד משתמש Admin ומנסים להירשם עם Admin זה יעבוד. אבל אם יש משתמש Admin ומנסים להרשם עם admin או aDmin זה לא יעבוד, מספיק אות אחת שהיא לא אותו הדבר זה יאפשר למשתמש להירשם. לכן, חוץ מהאופציות האלו שיש לי בראש כרגע, הדבר היחיד שאני חושב עליו מלבד זה, זה לפתוח שדה חדש שכל הכינויים ירשמו בו באותיות קטנות, ואיתו בעצם אני אעשה את ההשוואה, השאלה אם אין איזה אופציה אחרת (צריך שהיא תהיה יעילה). |
![]() |
![]() |
# 4 |
משתמש - היכל התהילה
|
קודם כל אתה יכול לבחור קידוד למסד שהוא case insensitive, מה ששגוי בפעולה שלך זה המיקום של הreturn false; הוא צריך להיות ממש לפני סיום הפונקציה ולא בelse. השיטה הזו ממש אבל ממש לא יעילה.
אם אתה משום מה לא רוצה להחליף קידוד למסד תוכל לעשות ככה: PHP קוד:
|
![]() |
![]() |
# 5 |
חבר מתקדם
|
תודה רבה שי, אני ההיתי בטוח שיש אופציה לעשות את זה,
ואז מה שאני עושה עם השאילתה שהבאת לי, זה בודק אם קיים כבר או לא כמו שהצגתי כבר בהודעה הקודמת. PHP קוד:
|
![]() |
![]() |
# 6 |
חבר וותיק
|
בד"כ mySQL לא מבחין בcasesentive.. האבחנה הזו קיימת בסיסמאות אגב מכיוון שההאש שלך כן מבחין(MD5)
|
![]() |
![]() |
# 7 |
משתמש - היכל התהילה
|
אלמוג זה לא נכון לחלוטין להגיד שבד"כ MySQL לא מבחן בcase. זה תלוי בקידוד bin (קיצור של binary) זה אבחנה מלאה, CS (קיצור של Case Sensitive) רגיש להבדלים בין אותיות גדולות לקטנות ובעברית בין רגילות לסופיות, CI (קיצור של Case Insensitive) להפך. יש גם AI וAS שזה בעברית נוגע לניקוד..
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|