הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 23-10-08, 21:50   # 1
HOLD
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2008
הודעות: 623

HOLD לא מחובר  

סיסמא לפנאל ניהול , הצפנה

איך אני מצפין את הסיסמא של הפנאל ניהול (שאני מכין) ?

יש את הפונקציות האלה - מישהו יכול להסביר לי מה הכי טובה לשימוש?

קוד:
    *  sha1_file()
    * crc32()
    * md5()
    * hash()
איפה לשמור את הסיסמא , אי אפשר לשמור במסד נתונים , זה לא הגיוני.
איפה הכי טוב לשמור אותה ?

תודה ,
  Reply With Quote
ישן 23-10-08, 21:54   # 2
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 37
הודעות: 710

vadimg88 לא מחובר  

במסד נתונים כנראה מוצפנת. כיום הצפנה רק בעזרת MD5 או כל פונקציה בודדת אחת זה לא ממש מספק. צריך משהו הרבה יותר חזק

http://www.phpfreaks.co.il/snippets/cat/Passwords.html

יש שם כמה גם דו כיווני וגם חד כיווני
  Reply With Quote
ישן 23-10-08, 22:14   # 3
HOLD
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2008
הודעות: 623

HOLD לא מחובר  

אפשר הסבר על העבודה עם שני אלה :
http://www.phpfreaks.co.il/snippet/P...ncryption.html
http://www.phpfreaks.co.il/snippet/S...5-Hashing.html

וגם איפה לאחסן את הסיסמא ??
  Reply With Quote
ישן 23-10-08, 22:39   # 4
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 37
הודעות: 710

vadimg88 לא מחובר  

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

קוד:
$password = 'omri';

$encpass = _enc($password); // now the password is encrypted
$decpass = _dec($encpass); // now we decrypted the pass

echo $password; // will output omri
echo $encpass; // will output encrypted password
echo $decpass; // will output the decrypted pass
גם ערכתי את התיאור והוספתי תיאור יותר רחב
http://www.phpfreaks.co.il/snippet/P...ncryption.html

השני היא הצפנה חד כיוונית זאת אומרת שלא תוכל לדעת אחר כך מה הייתה הסיסמא שלך לפני ההצפנה והשימוש בה נעשה כך:
קוד:
$password = 'omri';

$encpass = EncryptedPassword($password);  // now the password is encrypted

echo $password; // will output omri
echo $encpass; // will output encrypted password
זה הכל עכשיו המשתנה $encpass באחד מהשיטות שהשתמשת יכיל את הסיסמא המוצפנת שלך. השמירה הטובה ביותר כנראה תיהיה במסד.
  Reply With Quote
ישן 23-10-08, 23:55   # 5
omercnet
אחראי פורום תחזוק שרתים
 
מיני פרופיל
תאריך הצטרפות: Aug 2006
גיל: 38
הודעות: 722

omercnet לא מחובר  

ציטוט:
נכתב במקור על ידי Omri2 צפה בהודעה
איך אני מצפין את הסיסמא של הפנאל ניהול (שאני מכין) ?

יש את הפונקציות האלה - מישהו יכול להסביר לי מה הכי טובה לשימוש?

קוד:
    *  sha1_file()
    * crc32()
    * md5()
    * hash()
איפה לשמור את הסיסמא , אי אפשר לשמור במסד נתונים , זה לא הגיוני.
איפה הכי טוב לשמור אותה ?

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

לכן מומלץ להשתמש באמת בMD5 ע"מ לשמור את הסיסמאות בDB, ואפילו יש לך פונקציה בSQL שתעשה את זה בשבילך ע"מ לא להטריח את הPHP

בתכלס, מה שזה אומר, שאתה מוסיף משתמש אתה מוסיף אותו כך:
PHP קוד:
$q mysql_query("INSERT INTO `users` (`user`,`pass`) VALUES ('$user', MD5('$pass'))"
שהמשתנים הם בעצם הקלט מהמשתמש (אחרי שעבר סינון תוכן כמובן).

וע"מ לעשות הזדהות, אתה עושה
PHP קוד:
$q mysql_query("SELECT id FROM `users` WHERE user='$user' AND pass=MD5('$pass')"); 
ושוב, המשתנים הם הקלט של המשתמש.

ובצורה הזו, בDB עצמו לא נשמר שום אזכור ממשני לסיסמא של המשתמש.

קאפיש?
__________________
Omer Cohen
Information Security Specialist
eBaY Inc
  Reply With Quote
ישן 24-10-08, 01:27   # 6
HOLD
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2008
הודעות: 623

HOLD לא מחובר  

לשמור סיסמא במסד נתונים זה קצת דפוק, לא?
להכין טבלה שלמה בשביל ערך אחד ?
  Reply With Quote
ישן 24-10-08, 01:53   # 7
Shon12
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
הודעות: 354

Shon12 לא מחובר  

בשביל ערך אחד, למה?
אני חושב פה שכולם לא הבינו אותך וחשבו שיש כמה משתמשים ולא אחד.
אם יש אחד, בזמן שהמשתמש מזין פרטים נכונים תקבע בעוגייה את הסיסמא ב-MD5, לדוגמא:
PHP קוד:
if ($_POST['user'] == "omri" AND md5($_POST['password']) == "1234")
{
    
setcookie("lgoincookie",md5($_POST['password']),time()+3600);

מקווה שהבנת-בהצלחה.
__________________
Projector Lamps
  Reply With Quote
ישן 24-10-08, 11:39   # 8
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 37
הודעות: 710

vadimg88 לא מחובר  

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

ושוב כמו שאמרתי כיום להצפין סיסמא סתם ב MD5 זה לא בטוח כל כך. לפחות תעשה

קוד:
$password = 'omri';

$encpass = md5(base64_encode( $password )); // encode with base64 then md5
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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