View Single Post
ישן 22-04-06, 21:20   # 26
miniature
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 1,754

miniature לא מחובר  

ציטוט:
נכתב במקור על ידי LosNir
עם המון str replace,
למשל:

PHP קוד:
$pass "0202363654123";
$pass str_replace("23","7"$pass);
$pass str_replace("541","1"$pass);
$pass str_replace("0202","Nir"$pass);
$pass str_replace("3636","Azuelos"$pass);
echo 
$pass// will echo 'NirAzuelos17' 
הערה2:
שיטת ההצפנה הזאת לא תעבוד על ערך דינאמי (ערך שמתקבל מטפסים למשל), כי אי אפשר לדעת מה הגלש יזין לתוך הטופס,
אז בשביל להפוך את זה לשיטת הצפנה דינאמית אתה צריך לעשות str_replace לכל תו קיים.
ותיקח בחשבון שאם אותו אחד יודע PHP בסיסי אז הוא כבר יוכל לדעת את הסיסמא.. אז הז לא כ"כ יעיל לשיטות הצפנה דינאמיות.
אבל בהחלט יעיל לסתם ערכים שאתה קובע, כגון סיסמא להתחברות למסד נתונים.

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

הערה1:
אתה יכול לשנות את הסדר של ה str_replace וככה יהיה טיפה יותר קשה לגנוב את הסיסמא, למשל:

PHP קוד:
$pass "0202363654123";
$pass str_replace("0202","Nir"$pass);
$pass str_replace("3636","Azuelos"$pass);
$pass str_replace("541","1"$pass);
$pass str_replace("23","7"$pass);
echo 
$pass// will echo 'NirAzuelos17' 
אין אפשרות שהכל יהיה ב str_replace אחד?
כי ככה זה נותן שגיאה:
PHP קוד:
$str "abcdef";
$en = array("a""b""c");
$en_rep str_replace($en"d""e""f"$str); 
וזה לא נותן abcabc ...
__________________
יואב.

דרכים ליצירת קשר:

אימייל: thebigfire@walla.co.il
הודעה פרטית
  Reply With Quote