دیتالایف انجین فارسی

بهبود فيلترينگ داده هاي غير مجاز در آدرس

تاریخ انتشار: 5 مهر 1387
ارسال کننده: Psycho
سلام .
من این باگ رو تو سایت روسی دیتالایف دیدم که در مورد کلمات ورودی در سیستم فبلترین سایت هست.

1- فایل engine/inc/functions.inc.php رو باز کنید .
2- کد زیر رو پیدا کنید :

function check_xss () {

    $url = html_entity_decode(urldecode($_SERVER['QUERY_STRING']));

    if ($url) {

        if ((strpos($url, '<') !== false) ||
            (strpos($url, '>') !== false) ||
            (strpos($url, '"') !== false) ||
            (strpos($url, './') !== false) ||
            (strpos($url, '../') !== false) ||
            (strpos($url, '\'') !== false) ||
            (strpos($url, '.php') !== false)
           )
        {

            if ($_GET['mod'] != "editnews" OR $_GET['action'] != "list") die("Hacking attempt!");

        }

    }

}


3- کد زیر رو جایگزین کد بالایی کنید :

function check_xss () {

    $url = html_entity_decode(urldecode($_SERVER['QUERY_STRING']));

    if ($url) {

        if ((strpos($url, '<') !== false) ||
            (strpos($url, '>') !== false) ||
            (strpos($url, '"') !== false) ||
            (strpos($url, './') !== false) ||
            (strpos($url, '../') !== false) ||
            (strpos($url, '\'') !== false) ||
            (strpos($url, '.php') !== false)
           )
        {

            if ($_GET['mod'] != "editnews" OR $_GET['action'] != "list") die("Hacking attempt!");

        }

    }

    $url = html_entity_decode(urldecode($_SERVER['REQUEST_URI']));

    if ($url) {

        if ((strpos($url, '<') !== false) ||
            (strpos($url, '>') !== false) ||
            (strpos($url, '"') !== false) ||
            (strpos($url, '\'') !== false)
           )
        {

            die("Hacking attempt!");

        }

    }

}


4- فایل engine/modules/functions.php رو باز کنید .
5- کد زیر رو پیدا کنید :

function check_xss () {

    $url = html_entity_decode(urldecode($_SERVER['QUERY_STRING']));

    if ($url) {

        if ((strpos($url, '<') !== false) ||
            (strpos($url, '>') !== false) ||
            (strpos($url, '"') !== false) ||
            (strpos($url, './') !== false) ||
            (strpos($url, '../') !== false) ||
            (strpos($url, '\'') !== false) ||
            (strpos($url, '.php') !== false)
           )
        {
            if ($_GET['do'] != "search" OR $_GET['subaction'] != "search")    die("Hacking attempt!");
        }

    }

}


5- کد زیر رو با کد بالایی جایگزین کنید :

function check_xss () {

    $url = html_entity_decode(urldecode($_SERVER['QUERY_STRING']));

    if ($url) {

        if ((strpos($url, '<') !== false) ||
            (strpos($url, '>') !== false) ||
            (strpos($url, '"') !== false) ||
            (strpos($url, './') !== false) ||
            (strpos($url, '../') !== false) ||
            (strpos($url, '\'') !== false) ||
            (strpos($url, '.php') !== false)
           )
        {
            if ($_GET['do'] != "search" OR $_GET['subaction'] != "search")    die("Hacking attempt!");
        }

    }


    $url = html_entity_decode(urldecode($_SERVER['REQUEST_URI']));

    if ($url) {

        if ((strpos($url, '<') !== false) ||
            (strpos($url, '>') !== false) ||
            (strpos($url, '"') !== false) ||
            (strpos($url, '\'') !== false)
           )
        {
            if ($_GET['do'] != "search" OR $_GET['subaction'] != "search")    die("Hacking attempt!");

        }

    }

}


موفق باشید .
    9 نفر (9 کاربر و 0 میهمان) از این مطلب تشکر کرده اند.
    تشکر
    مدیر بازنشسته
    05 مهر 1387 - 17:34
    دوست عزیز سلام
    این تابعی كه در نوشته ی شما دستكاری شده هیچ ربطی به فیلترینگ كلمات نداره . من نمی دونم شما چطوری اون رو به فیلترینگ كلمات ربط دادین . این تابع در واقع برای فیلتر كردن داده های غیر مجاز از url هستش و هیچ ربطی به كلمات نداره . این تابع برای جلوگیری از حملات XSS هستش .
    لطفا اصلاحش كنید .
    موفق باشید .
    عضو سایت
    05 مهر 1387 - 20:05
    saron,
    ما فقط این عنوان رو از زبان روسی به انگلیسی و بعد به فارسی ترجمه کردیم و دیگه خودمون توش دست نبردیم که اشتباه باشه ! flower
    عضو سایت
    05 مهر 1387 - 20:09
    آقا یکتا تایید می کنید این مطلب رو ؟ انجام بدیم ؟
    ممنون
    عضو سایت
    05 مهر 1387 - 20:13
    sshr,
    wink . آقا این مطلب رو هم آقای یکتا تایید کرده و هم سایت اصلی دیتالایف انجین !
    عضو سایت
    05 مهر 1387 - 20:51
    alico,
    ببخشید بهتون بر نخوره من فقط پرسیدم .
    باز هم ممنونم یا علی
    مدیر بازنشسته
    05 مهر 1387 - 21:32
    دوست عزیز ترجمه ی لغت به لغت اونم با گوگل ترانسلیتر همبن مشكلات رو هم داره .
    فیلترینگ آدرس ها یا داده های غیر مجاز درستر هستش تا كلمات .
    حالا حتما این عنوانی كه شما گذاشتید غلط هستش . بهتر ه كه اصلاحش كنید . حتی اگر خود سایت روسی هم این عنوان رو گذاشته (كه قطعا نذاشته) باز هم اشتباه كرده .
    باید بذارید بهبود دیتالایف انجین در مواجهه با آدرس های غیر مجاز یا فیلترینگ داده های غیر مجاز در آدرس یا یه چیزی توی این مایه ها .
    چون من خودم قبلا دو تابع قدرمتند برای همین منظور در دیتالایف انجین دادم .

    http://datalifeengine.ir/1387/02/06/increas
    e-security-in-datalife.html

    موفق باشید .
    عضو سایت
    24 آبان 1387 - 21:54
    بسیار عالی.همچنین تشکر از سارون
    جهت ارسال نظر، فرم زیر را تکمیل نمائید:
    نام:*
    ایمیل:*
    متن نظر:

     
    پررنگکج خط دارخط دار در وسط|سمت چپوسط سمت راست|قرار دادن شکلکانتخاب رنگ|پنهان کردن متنقراردادن نقل قولتبدیل نوشته ها به زبان روسیقراردادن Spoiler
    کد امنیتی: *