آژانس هواپیمایی

بهترین سیستم لوگین !

شروع موضوع توسط aarash ‏2 ژوئن 2007 در انجمن PHP

  1. aarash

    aarash فروشنده معتبر [؟]

    تاریخ عضویت:
    ‏9 ژوئن 2005
    نوشته ها:
    2,334
    تشکر شده:
    106
    محل سکونت:
    شیراز
    سلام .
    من همیشه با این Session و Cookie مشکل داشتم !
    اگر اونا هم مشکلی به هم نزنن . من خودم مشکل به هم میزنم !!! :D:D
    یعنی همش فکر میکنم که مشکل داره یا جواب نمیده یا مشکل امنیت داره ...
    میخواستم اگر لطف کنید قوی ترین سیستم لوگین از نظر امنیت و ( همه لحاظ ) هم با Session و هم با Cookie اگر سراغ دارین بزارین . یا کدش رو بزارین .
    نمیخوام یک سیستم پیچیده باشه و یا ...
    فقط صفحه ی مورد نظر من صفحه ای هست که کاربر Username و Password خودش رو وارد میکنه و وارد میشه به صفحه Member ( یعنی توی صفحه ی لوگین و صفحه ای که اطلاعات لوگین فرستاده میشه و member و logout !' ) همین !!! :D:D:D:blush::blush::blush:
    منتظر یاری سبزتان هستم
    یا علی
     
  2. aarash

    aarash فروشنده معتبر [؟]

    تاریخ عضویت:
    ‏9 ژوئن 2005
    نوشته ها:
    2,334
    تشکر شده:
    106
    محل سکونت:
    شیراز
    ممنون از این همه محبتتون !!!
     
  3. HADI_EN

    HADI_EN Registered User

    تاریخ عضویت:
    ‏20 مارس 2006
    نوشته ها:
    242
    تشکر شده:
    2
    خوب تو قسمت session و cookie مي توني غير از استفاده تركيبي از اين دو از پايگاه داده هم استفاده كني يعني مقادير Session رو توش ذخيره كني و بعد در حين استفاده همه مقادير Session cookie و ديتا بيس رو باهم مقايسه كني تا باهم يكي باشند مطمئن باش اين روش به اندازه كافي امن هست چون هم از طرف سرور(جلسه) و هم از طرف كلايت(كوكي) و هم از طرف ديتا بيس مسئله اعتبار داده ها چك ميشه

    يه مسئله مهم ديگه در حين ارسال داده هست يعني زماني كه كاربر شناسه و پسورد رو ارسال مي كنه ممكن هست يه هكر داده رو در مسير راه بدزده اگه از پروتكل ssl استفاده كنيم اين مسئله رو نداريم چون همه چيز به صورت رمز شده ارسال ميشه اما اگه از پروتكل http استفاده كنيم بايد چكار كنيم ؟:blink: خوب خودمون پسورد رو بصورت hash شده بايد ارسال كنيم چطوري ؟الان بهت ميگم همون طور كه مي دونيم زماني از session_start() استفاده مي كنيم يه Session_id ساخته ميشه و كه تو يه كوكي ذخيره ميشه ما تو قسمت كلايت با جاوا اسكريپت پسورد رو از كاربر ميگيريم بعد با Session_id كه تو كوكي ذخيره شده (كه اون هم با جاوا اسكريپت مي گيريم ) تركيب مي كنيم بعد با تابع md5 رمز گذاري مي كنيم سپس اين آشي كه پختيم رو همراه با شناسه كاربر ارسال مي كنيم تو قسمت سرور هم دقيقا همين كار رو بايد انجام بديم يعني با توجه به شناسه اول پسورد رو از ديتا بيس مي خونيم بعد با session id تركيب مي كنيم بعد با تابع md5 هش مي كنيم حالا با مقدار رسيده از طرف كاربر مقايسه مي كنيم اگه دو تا مقدار مساوي بود يعني كاربر معتبر هست ويژگي اين روش اينه كه اگه هكر وسط راه مقدار پسورد كاربر رو بدست بياره هيچ كاري نمي تونه باهاش انجام بده حتي از راه معكوس هم نمي تونه مقدار پسورد رو بدست بياره چون پسورد با Session id كه يه مقدار رندوم هست hash َشده

    کد:
    <script type="text/javascript" src="md5.js"></script>
    <script language=javascript>
    
    function getCookie(cookieName)
    {
      var cookieValue = null;
      var posName = document.cookie.indexOf(escape(cookieName) + '=');
      if (posName != -1)
      {
         var posValue = posName + (escape(cookieName) + '=').length;
         var endPos = document.cookie.indexOf(';', posValue);
         if (endPos != -1)
         {
            cookieValue = unescape(document.cookie.substring(posValue, endPos));
         }
         else
         {
            cookieValue = unescape(document.cookie.substring(posValue));
         }
      }
      return cookieValue;
    
    function  send()
    {
      form1.password.value=hex_md5(hex_md5(form1.password.value)+getCookie("PHPSESSID"));
      form1.submit();
    }
    </script>
    
    }


    در ضمن تو قسمت form شناسه و پسورد هم بايد onsubmit= send() رو بزاري يه چيز ديگم اينكه بايد فايل md5.js رو گير بياري و در كنار فايلت بزاري

    <form name="form1" method="post" action="11.php" onsubmit= send()>
     
  4. aarash

    aarash فروشنده معتبر [؟]

    تاریخ عضویت:
    ‏9 ژوئن 2005
    نوشته ها:
    2,334
    تشکر شده:
    106
    محل سکونت:
    شیراز
    دستت درد نکنه !
    کس دیگه ای نظری نداره ؟
     
  5. aarash

    aarash فروشنده معتبر [؟]

    تاریخ عضویت:
    ‏9 ژوئن 2005
    نوشته ها:
    2,334
    تشکر شده:
    106
    محل سکونت:
    شیراز
    تو لوگین با مشکل CACHE چکار میشه کرد ؟
     
  6. KhersKuchulu

    KhersKuchulu کاربر تازه وارد

    تاریخ عضویت:
    ‏7 ژوئن 2007
    نوشته ها:
    115
    تشکر شده:
    0
    از سشن استفاده کنید :D
     
  7. خرید بیت کوین3eo
  8. aarash

    aarash فروشنده معتبر [؟]

    تاریخ عضویت:
    ‏9 ژوئن 2005
    نوشته ها:
    2,334
    تشکر شده:
    106
    محل سکونت:
    شیراز
    ممنون
    بعد میخواستم ببینم مثلا همین PT از چه سیستم لوگینی استفاده میکنه ( میدونم کوکی هست میخوام ببینم اگر بخوام راه بندازم سیستمی مثل این چه کارایی باید انجام بدم که امنیت به حداکثر برسد )
    با تشکر از پاسختون
     
  9. KhersKuchulu

    KhersKuchulu کاربر تازه وارد

    تاریخ عضویت:
    ‏7 ژوئن 2007
    نوشته ها:
    115
    تشکر شده:
    0
    ویبی هم ترکیبی از سشن و کوکی هست. البته اینکه توضیح بدم به چه صورت اولا کار من نیست دوم اینکه بسیار زیاده ولی فکر میکنم اگر صفحات ورود اسکریپت نال شدهش رو ببینید خیلی راحت متوجه می شید به چه صورت... در هر حال یه سیستمی که ترکیبی از سشن و کوکی باشه امنیت کافی رو داره ;)
     
  10. jhoseinii

    jhoseinii Registered User

    تاریخ عضویت:
    ‏20 فوریه 2006
    نوشته ها:
    154
    تشکر شده:
    1
    محل سکونت:
    تهران
    بنظرم اگه به ip کلاینت هم یه گیری بدی تا حد جالبی امنیتت تضمین میشه
    روشی که HADI_EN عزیز اشاره کردن جالب بود، اما حیف که این فروم دکمه ی Thanks نداره :)
    وقتی کاربر مراحل لاگین رو انجام داد، و سیستم مطمعن شد کسی که با ip: xxx.xxx.xxx.xxx همونی هست که باید باشه، این ip رو روی دیتابیش نگه داره، و در ریکوست های بعدی این کاربر client.ip چک بشه تا اگه عوض شد بشه فهمید که یکی یه جایی داره سواستفده میکنه!
    استفاده از یه شماره ی امنیتی بصورت فایل تصویری هم کارو بهتر میکنه
     
avanak عسل طبیعی و گرده گل ایرانی