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

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 28-10-11, 12:38   # 1
trupix
חבר מתקדם
 
trupix's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2009
גיל: 34
הודעות: 391

trupix לא מחובר  

התחברות לאתר?

הי,

יש לי טופס התחברות, לצורך הענין נקרא לו login.php

בטופס ישנם השדות שם משתמש + סיסמא בלבד.

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

יש את set cookie אבל אני קצת מסתבך עם זה.

כמו כן רציתי לדעת איך לSeasion_start יש קשר לכל הסיפור


תודה לעוזרים!
שב"ש
  Reply With Quote
ישן 28-10-11, 13:06   # 2
Liorl
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Aug 2010
הודעות: 604

Liorl לא מחובר  

אז זה הולך ככה ..
אחרי שהמשתמש עבר את הזיהוי

אתה מייצר לו סיישן ככה :

PHP קוד:
$_SESSION["name"] = $_POST["user"]; 
עכשיו פתחנו סיישן שקוראים לו "name" והערך שלו שווה ל "
קוד:
$_POST["user"]
"

אם אתה רוצה לבדוק האם המשתמש התחבר תעשה ככה :
PHP קוד:
if($_SESSION["name"]){
/* Code if The user Login */
} else {
 
/* Code If The User Dont Login */

מקווה שהבנתה
__________________
  Reply With Quote
ישן 28-10-11, 13:13   # 3
trupix
חבר מתקדם
 
trupix's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2009
גיל: 34
הודעות: 391

trupix לא מחובר  

הי ליאור! קודם כל תודה.

לדעתך מאובטח יותר להשתמש בסשן מאשר קוקיז?
  Reply With Quote
ישן 28-10-11, 13:14   # 4
Liorl
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Aug 2010
הודעות: 604

Liorl לא מחובר  

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

מהצד השני אתה יכול לשלוט על הזמן שהמשתמש יהיה מחובר ... ובסישן אתה לא יכול
__________________
  Reply With Quote
ישן 28-10-11, 13:21   # 5
trupix
חבר מתקדם
 
trupix's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2009
גיל: 34
הודעות: 391

trupix לא מחובר  

ובהנחה שהמשתמש יצא מהאתר ונכנס אחרי יומיים(מאותו מחשב+דפדפן) - > איך המערכת תזהה אותו? הרי אין לו כלום על המחשב שמעיד על כך (=קוקיז)

אני מקווה שזה לא עפ"י כתובת IP מאחר וזה לא כל כך טוב עבורי.
  Reply With Quote
ישן 28-10-11, 13:23   # 6
אדיר
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Mar 2008
מיקום: אשקלון
הודעות: 1,714

אדיר לא מחובר  

שימוש במערכת הסיישנים המובנית ב- PHP לא עונה על התנאי של פותח האשכול: "איך ניתן לזכור אותו בכניסות הבאות שלו לאתר".

המידע הקיים בסיישן תקף כל עוד הגולש לא סגר את הדפדפן/ איפס את הסיישן,
ברגע שהגולש יסגור את הדפדפן ויפתח אותו מחדש הוא יקבל מזהה אחר והמערכת כבר לא תקשר אותו למידע מהסיישן הקודם שלו.

תלמד להשתמש בעוגיות, זה ידע בסיסי.
  Reply With Quote
ישן 28-10-11, 13:33   # 7
trupix
חבר מתקדם
 
trupix's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2009
גיל: 34
הודעות: 391

trupix לא מחובר  

על פי כך אשתמש בקוקיז.

קוד:
set_cookie("cookie_login","admin");
האם הסינטקס נכון? כיצד ניתן לאבטח אותו ככל האפשר? כי לפחות בתיאוריה, ניתן בקלות 'להערים' על המערכת תוך כדי יצירת עוגייה זהה עם המשתמש שאבחר

תודה חברה.
  Reply With Quote
ישן 28-10-11, 15:28   # 8
Erez | TrustMedia.co.il
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,854

Erez | TrustMedia.co.il לא מחובר  

ציטוט:
נכתב במקור על ידי trupix צפה בהודעה
על פי כך אשתמש בקוקיז.

קוד:
set_cookie("cookie_login","admin");
האם הסינטקס נכון? כיצד ניתן לאבטח אותו ככל האפשר? כי לפחות בתיאוריה, ניתן בקלות 'להערים' על המערכת תוך כדי יצירת עוגייה זהה עם המשתמש שאבחר

תודה חברה.
בעוגייה תשמור את הmd5 של הסיסמא, או איזה מזהה ייחודי של ההתחברות.
בקיצור משהו שלא יהיה אפשר לגלות בקלות ולשנות את העוגיה ולפרוץ למשתמש
__________________
  Reply With Quote
ישן 28-10-11, 17:32   # 9
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

כדי להתחיל SESSION אתה רושם
PHP קוד:
session_start(); 
מטעמי אבטחה, תעשה ככה:
PHP קוד:
session_start();
ini_set "session.cookie_httponly" true ); 
אסור שיהיה HTML לפני תחילת הקוד (זה כולל גם רווחים וכל דבר קטן שמודפס למסך)

כדי להכניס סשן אתה עושה

PHP קוד:
$_SESSION['name'] = 'value'
כמו ששמת לב המשתנה $_SESSION הוא מערך, ודרכו את גם קורא פרטים, בהצלחה

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

Last edited by Haimz; 28-10-11 at 17:34..
  Reply With Quote
ישן 28-10-11, 17:49   # 10
daNN
חבר בקהילה
 
daNN's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jan 2011
גיל: 35
הודעות: 178

daNN לא מחובר  

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

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

זיוף Sessions אפשרי בדיוק באותה רמה של זיוף Cookies.

אז איך כן תעשה את זה ?
- תיצור כפתור CheckBox של "זכור אותי" לדעת אם לשמור את העוגייה במחשב (אולי המשתמש לא משתמש הרגע במחשב שלו?)
- בדוק עם המסד נתונים אם המשתמש קיים והסיסמא תקינה במקרה אם כן המשך הלאה.
- תגדיר Session במקרה שלא השתמש באופציה "זכור אותי"
- במקרה שכן השתמש באופציה "זכור אותי" תגדיר עוגייה
- בנוסף את הסיסמא תדאג להצפין באחת מההצפנות המוצעות בPHP לדוגמא: md5, sha1, crc32.

נקודות חשובות:
שים לב לא להגדיר בצורה הבאה (כמו שהראו לך למעלה):
קוד:
$username = $_POST["user"]
מן הסתם לפני שאתה מגדיר Cookies או Sessions
אתה בודק עם המסד נתונים אם המשתמש קיים והסיסמא שהוזנה נכונה.
במקרה של שימוש בצורה הזאת אתה חושף את המסד נתונים שלך להזרקות SQL.
על מנת לקרוא עוד על הזרקות SQL:
http://www.unixwiz.net/techtips/sql-injection.html

אז מה כן אפשר לעשות?
השתמש בפונקציה mysql_real_escape_string !
קוד:
$username = mysql_real_escape_string($_POST['user'])

Last edited by daNN; 28-10-11 at 18:03..
  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. הזמן כעת הוא 10:58.

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