15-05-13, 11:36 | # 1 |
חבר על
|
הצפת משתנה בphp
היי,
בעקבות מגבלות של הסקריפט, אני חייב לשמור שם משתמש וסיסמא לא מוצפנים כדי להשתמש בהם לפונקציה. זה יוצר לי בעיות אבטחה פוטנציאליות רציניות. איפה הכי "בטוח" לשמור את המידע הזה? בקובץ נפרד? במסד? או בפונקציה עצמה כמשתנה? בנוסף חשבתי שאם כבר לשמור אז לשמור בפונקצית הצפנה דו כיוונית כך שאני אפנח אותם רק בפונקציה שאני נדרש להשתמש בה. איך אפשר לעשות דבר כזה בPHP ? תודה רבה |
15-05-13, 11:45 | # 2 |
משתמש - היכל התהילה
|
למה אתה חייב לשמור אותם גלויים?
|
15-05-13, 12:08 | # 3 |
חבר על
|
|
15-05-13, 13:13 | # 5 |
חבר על
|
אני עובד עם api שמקבל בקשת post עם שם משתמש וסיסמא ומחזיר hashkey שנותן לי לעשות כל מיני דברים. אין לי ברירה אחרת מלבד לשלוח אותם ככה, אבל הייתי מעוניין "לצמצם" נזקים במקרה של פריצה ולהקשות על הפורץ לגלות את המשתמש והסיסמא.
|
15-05-13, 13:19 | # 6 |
חבר וותיק
|
מתי אתה שולח את השם משתמש והסיסמה? איפה הם שמורים?
ברור שאל תשמור בקובץ, רק מסד |
15-05-13, 13:24 | # 7 |
משתמש - היכל התהילה
|
אפשר קצת יותר פרטים? api של מה?
כי לרוב שומרים סיסמה מוצפנת במסד, כאשר מזינים משתמש וסיסמה מצפינים את הסיסמה שהתקבלה ומשווים בינהן |
15-05-13, 13:27 | # 8 |
מנהל פורום, עסק רשום
|
אתה שולח אותם ב-POST מהדפדפן או מהשרת?
אם מדובר בדפדפן, אז זה רעיון נוראי. אם זה אכן מקרה, הייתי ממליץ בחום לממש שהמשלוח עצמו יתבצע בצד שרת, משהו שימזער את הנזק משמעותית. אם זה אפשרי, אז שהמשלוח יהיה ב-SSL שלא ניתן יהיה לנטר את התקשורת מהשרת ולמצא את המידע הזה. בכל מקרה, לדעתי אתה אמור לשמור את המידע הזה בקוד שלך ולא ב-DB (ה-DB הרבה יותר "חשוף" ויותר קל לשלוף ממנו מידע מאשר לגרום לקוד צד שרת להדפיס תוכן של איזשהו משתנה שלא רצית להדפיס מלכתחילה). בעצם הייתי עושה ככה: 1. שולף את הסיסמה המוצפנת מה-DB 2. מתרגם את הסיסמה המוצפנת לסיסמה האמיתית. 3. שולח ב-POST בצד שרת עם SSL את הסיסמה ל-API. 4. מאפס את ערך המשתנה |
15-05-13, 13:44 | # 9 |
חבר על
|
השליחה היא בצד השרת (מהשרת) בעזרת curl. לא הצלחתי להבין מכם אם עדיף לשמור כמשתנה בphp או במסד.
וכיצד אוכל להצפין סיסמא? באיזה פונקציה בphp להשתמש? אף פעם לא הצפנתי בסיסמא דו כיוונית ולכן אין לי מושג איך לעשות. Last edited by bimbim; 15-05-13 at 14:10.. |
15-05-13, 15:07 | # 10 |
עסק רשום [?]
|
תשתמש באלגוריתם שמצפין מחרוזת באמצעות מפתח כלשהו ואז יכול גם לפענח אותה באמצעות אותו המפתח (או מפתח אחר, לא קריטי).
למען העמימות הייתי אפילו מפצל את המידע - את שם המשתמש והסיסמא המוצפנים הייתי שומר בקובץ עצמו ואת המפתח הייתי שומר ב- DB או משהו כזה. מי שיצליח לשלוף את המפתח ממסד-הנתונים לא ישיג יותר מדי, מי שישיג גישה לקוד יוכל גם מן הסתם להתחבר ל- DB ולשלוף משם את המפתח, אבל זה בהחלט יכול להקשות על חובבנים וזה לא יהיה מובן מאליו (שלזה אתה צריך לדאוג ברמת הקוד). לדוג': http://stackoverflow.com/questions/1...ryption-in-php להגיד לך שזה בטוח? זה לא. אבל זה בטח טוב יותר מאשר לשמור את זה כ- plain text. Last edited by אדיר; 15-05-13 at 15:09.. |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|