אתה נמצא כאן מדריכים  >>  הגנת מידע  >>  בסיס הנתונים

בסיס הנתונים

בניית הטבלה

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

CREATE TABLE user_pass
/*יוצר טבלה בשם user_pass.*/
 (
   user varchar(50) NOT NULL
/*יוצר שדה בשם user.
שדה זה הוא מסוג מערך של 50 תווים.
שדה זה לא יכול להיות ריק.
*/
,
   pass varchar(32) NOT NULL
/*יוצר שדה בשם pass.
שדה זה הוא מסוג מערך של 32 תווים.
שדה זה לא יכול להיות ריק.
*/
,
   user_group int(10) unsigned DEFAULT '0' NOT NULL
/*יוצר את השדה user_group.
שדה זה הוא מסוג מספר שלם חיובי
של עד 10 ספרות.
שדה זה לא יכול להיות ריק.
ערך ברירת המחדל של השדה הוא 0.
*/
,
);

ל-MySQL יש פונקציה מיוחדת שנקראית PASSWORD(), שמשתמשת באלגוריתם חד-כיווני ומצפינה מחרוזת כלשהי כמספר הקסאדיצמלי בן 32 ספרות. בסקריפט זה לא השתמשנו בפונקציה של MySQL לצורך הצפנת הססמא אלא בנינו פונקציה מיוחדת שתפקידה להצפין מחרוזת כלשהי כמספר הקסאדיצמלי בן 32 ספרות תוך שימוש באלגוריתם חד-כיווני דומה (ואולי אף זהה לזה של MySQL) - הפונקציה md5() ב-PHP.

הכנסת נתונים

כדי להכניס נתונים עלינו למלא את שדות הטבלה:
בשדה ה-user נכניס את שם המשתמש.
בשדה ה-pass נכניס את הקוד המוצפן של הססמא. היות ואנו לא משתמשים בפונקציה PASSWORD() של MySQL, אנו צריכים לכתוב את הקוד המוצפן של הססמא באופן ידני. כדי לדעת מה הצופן של הססמא, בניתי קובץ עזר שיחזיר את הקוד המוצפן של הססמא, וכל שעליכם לעשות זה להעתיק את הפלט לטבלה. קובץ העזר הזה נמצא ב-admin_protect/admin_protect.php.
בשדה ה-user_group נכתוב את מספר הזיהוי של קבוצת המשתמשים.

הסקריפט שמריצים בחלק זה משתמש בטבלה הבאה (user_pass):

user pass user_group
user1 b76078ac1326dd9c34be6a7be0077a8e 1
user2 82ad9485d4c41007d1eb299a84833027 1
user3 b722b2efa26a4a016a4815398730a6f1 2
user3 a2dd027ad8e84d508865d1b64c88e749 2

כדי ליצור את הטבלה לעיל, פשוט הריצו את קובץ ה-SQL הבא על בסיס הנתונים שלכם: example_user_pass_db.sql.


תגובות בנושא

מעולה 07-12-05 23:01
 שאול חסוי
#2606

מדריך מעולה, תודה.
אני לא חושב שיש כאן צורך לפרט יותר.

הגהנה הכנסת נתונים 08-12-10 01:00
 אולג קגן
#2886

לא לשכוח לסנן כל מידע ש בא מבחוץ ב פונקציה
;()mysql_real_escape_string


לדף הקודםנספח: הצפנת מידע -הקודם
לתחילת הדףלתחילת הדף
הבא- טיפול בססמאלדף הבא