نمایش نتایج: از شماره 1 تا 5 , از مجموع 5

موضوع: امنيت در برنامه نويسي php

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    58 امنيت در برنامه نويسي php

    سلام
    در اين تاپيك قصد داريم پيرامون امنيت در برنامه نويسي تحت وب مباحثي رو مطرح كنيم !
    Register Globals
    همانطور كه در سايت مرجع ذكر شده است ،‌ Register Globals يك آسيب پذيري نيست و در واقع يك ريسك امنيتي به حساب مي رود.
    register_globals قابليت خاصي در برنامه نويسي php است كه به برنامه نويس امكان مقداري دهي متغير ها را به طور مستقيم و از طريق نوار آدرس مي دهد.
    اين قابليت نه تنها يك مشكل امنيتي به حساب نمي آيد بلكه يك مزيت ويژه نيز به حساب مي آيد ؛ اما از آنجا كه امكان و احتمال بروز اشتباه برنامه نويس در بكار گيري اين قابليت زياد است به صورت پيش فرض اين قابليت در نسخه هاي جديد php غير فعال مي باشد.
    مثال زير از سايت مرجع به وضوح بيانگر اين ريسك مي باشد :
    کد PHP:
    <?php
    // define $authorized = true only if user is authenticated
    if (authenticated_user()) {
        
    $authorized true;
    }

    // Because we didn't first initialize $authorized as false, this might be
    // defined through register_globals, like from GET auth.php?authorized=1
    // So, anyone can be seen as authenticated!
    if ($authorized) {
        include 
    "/highly/sensitive/data.php";
    }
    ?>
    فرض كنيد كاربر آدرس زير را در مرورگر وارد كنيد :
    file.php?authorized=1
    در اين صورت متغير authorized برابر true تلقي خواهد شد !
    راهكار : در صورتي كه مايل به استفاده از Register Globals هستيد كافيست در كد نويسي دقت نموده و در ابتداي برنامه متغير هاي لازم را مقدار دهي اوليه كنيد.
    در كد زير اين ريسك امنيتي رفع شده است :
    کد PHP:
    <?php
    // initialize $authorized as false, 
    $authorized false;
    // define $authorized = true only if user is authenticated
    if (authenticated_user()) {
        
    $authorized true;
    }

    if (
    $authorized) {
        include 
    "/highly/sensitive/data.php";
    }
    ?>
    چگونه Register Globals را فعال/غير فعال كنيم ؟
    فايل php.ini را با يك ويرايش گر مناسب باز كنيد و خط زير را بيابيد :
    register_globals =
    براي فعال كردن بايد :
    register_globals = On
    و غير فعال كردن :
    register_globals = Off
    باشد.
    ادامه دارد ...
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  2. تعداد تشکر ها ازRezash به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. همكار پروژه اي كدنويسي وبسايت
    توسط GoldinHost.IR در انجمن به دنبال کارمند هستم
    پاسخ ها: 0
    آخرين نوشته: May 19th, 2017, 09:37
  2. تغييرات در سايت كه با دات نت برنامه نويسي شده
    توسط mohsenshayan در انجمن درخواست خدمات برنامه نویسی
    پاسخ ها: 0
    آخرين نوشته: April 26th, 2015, 03:12
  3. اديت قالب (يه كد نويسي حرفه اي لازم داريم)
    توسط vahidxiii در انجمن درخواست خدمات برنامه نویسی
    پاسخ ها: 1
    آخرين نوشته: June 10th, 2014, 12:58
  4. طراحي و برنامه نويسي سايت پيشبيني فوتبال
    توسط Mass70 در انجمن درخواست خدمات برنامه نویسی
    پاسخ ها: 7
    آخرين نوشته: April 20th, 2013, 16:37
  5. پاسخ ها: 5
    آخرين نوشته: September 17th, 2009, 14:19

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •