לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #2  
ישן 06-02-2006, 05:32
  ישראל K ישראל K אינו מחובר  
 
חבר מתאריך: 25.08.03
הודעות: 9,114
בתגובה להודעה מספר 1 שנכתבה על ידי tnadav1 שמתחילה ב "אבטחת session-ים"

ציטוט:
במקור נכתב על ידי tnadav1
... אני יודע ... שאין בעיה לזייף sid,

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

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

ולשאלתך:
תוכל לנסות לאמת כל id עם כתובת ה-ip שכמובן תשמר במערך SESSION.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 06-02-2006, 13:48
  yytg yytg אינו מחובר  
 
חבר מתאריך: 12.08.04
הודעות: 993
בתגובה להודעה מספר 3 שנכתבה על ידי yytg שמתחילה ב "בס"ד כבר עניתי לך באשכול ..."

בס"ד

קבלו

קוד PHP:
<?
     //You need to Include the file before "session_start()"
     class Session
     {
         var $id;
         function Session()
         {
             $ip=$this->GetCompactIP();
             $s=$this->Get(session_name());
             
             if(!$s||$this->GetIPFromMd5($s,strlen($ip))!=$ip)        
                 session_id($this->CreateID());    
     
             session_start();    
         }
         
         function GetIPFromMd5($md,$len)
             {return substr($md,-$len);}
             
         function GetCompactIP()
             {return str_replace('.','',$_SERVER["REMOTE_ADDR"]);}
             
        function CreateID()
            {return md5(rand()).$this->GetCompactIP();}
            
         function Get($index)
        {
            if(isset($_GET[$index]))return $_GET[$index];
            if(isset($_POST[$index]))return $_POST[$index];
            if(isset($_COOKIE[$index]))return $_COOKIE[$index];        
            return false;    
        }
     }
    new Session();//Start
?>


נערך לאחרונה ע"י yytg בתאריך 06-02-2006 בשעה 14:03.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 06-02-2006, 15:04
צלמית המשתמש של tnadav1
  משתמש זכר tnadav1 tnadav1 אינו מחובר  
 
חבר מתאריך: 02.10.05
הודעות: 2,355
שלח הודעה דרך MSN אל tnadav1
בתגובה להודעה מספר 6 שנכתבה על ידי yytg שמתחילה ב "בס"ד אתה מצרף אותו לקבצים..."

ולמה לא לעשות ב- login -
קוד PHP:
 $_SESSION['ip'] = sha1($_SERVER["REMOTE_ADDR"]); 

ובבדיקה:
קוד PHP:
 if(isset($_SESSION['client']) AND isset($_SESSION['pass']) AND isset($_SESSION['ip']))
{
    
check_session($_SESSION['client'], $_SESSION['pass'], $_SESSION['ip']);
    
$client=$_SESSION['client'];


כש- check session זה הפונקציה הזאת:
קוד PHP:
 function check_session($client$pass$ip)
{
    
//---------------------------------------------------------------------------------------------
    //start the query
    //---------------------------------------------------------------------------------------------
    
$start=mysql_query("SELECT `client`,`pass` FROM `clients` WHERE `client` = '".$client."' && `pass` = '".$pass."    '");
    
//---------------------------------------------------------------------------------------------
    //check the details
    //---------------------------------------------------------------------------------------------
    
$info=mysql_fetch_array($start);
    if(
$pass != $info['pass'] || $client != $info['client'])
    {
        
//-----------------------------------------------------------------------------------------
        //nice idea but I got you
        //-----------------------------------------------------------------------------------------
        
return FALSE;
    }
    if(
$ip != $_SERVER["REMOTE_ADDR"])
    {
        
//-----------------------------------------------------------------------------------------
        //nice idea but I got you
        //-----------------------------------------------------------------------------------------
        
return FALSE;
    }
    return 
TRUE;

_____________________________________


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 04:15

הדף נוצר ב 0.06 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר