Արհեստական ​​բանականությունՇուկայավարման գրքերՇուկայավարման գործիքներ

Ի՞նչ է JavaScript Obfuscation-ը:

Ես վերջերս բավականին շատ JavaScript եմ գրում Ajax հավելվածի համար՝ յուրահատուկ և նորարար կոդով: Երբ ես ավարտեմ, ես մի քանի մտահոգություն ունեմ՝ հավելվածի անվտանգությունը և իմ ծանր աշխատանքը պաշտպանելու որևէ մեկից ծածկագիրը գողանալուց: Ես վստահ չեմ, թե որքան հեռու եմ գնալու, բայց ես կարդացել եմ դրա մասին JavaScript Obfuscation իմ գրքերից մեկում, ԱJAԱՔՍ ՀԱԿՍ.

JavaScript-ի մշուշումն օգտագործվում է հակադարձ ինժեներականացնելու կամ JavaScript կոդը դժվար հասկանալու համար: Սա ձեռք է բերվում ծածկագիրը ձևափոխելու միջոցով, որը պահպանում է իր սկզբնական ֆունկցիոնալությունը, բայց դժվարացնում է այն կարդալը կամ փոփոխելը: Խճճվածության պատճառները և դրա առավելությունները ներառում են.

  1. ԱնվտանգությունՕբֆուսկացիան օգնում է պաշտպանել մտավոր սեփականությունը և կոդի մեջ ներկառուցված զգայուն տվյալները՝ դժվարացնելով ծածկագիրը: Այն ավելացնում է պաշտպանական շերտ չարտոնված մուտքից և փոփոխություններից:
  2. Ծովահենության նվազեցում: Obfuscation-ը օգնում է պաշտպանել կոդը առանց թույլտվության պատճենելուց կամ նորից օգտագործելուց՝ այդպիսով պաշտպանվելով ծովահենությունից:
  3. Խափանումների կանխարգելումԴժվարացնում է հարձակվողների համար կոդի կեղծումը, այդպիսով ապահովելով հավելվածի ամբողջականությունը:
  4. Կատարման ազդեցությունՊատշաճ կերպով խճճված կոդը չպետք է էապես ազդի աշխատանքի վրա: Այն երբեմն կարող է բարելավել կատարողականությունը մշուշման գործընթացի ընթացքում օպտիմալացումների շնորհիվ:

Խաբեությունը անվտանգության անխոհեմ միջոց չէ: Դա ավելի շատ զսպող միջոց է, քան ամուր պաշտպանություն: Վճռական հարձակվողները, որոնք ունեն բավարար ժամանակ և ռեսուրսներ, կարող են պոտենցիալ մաքրել կոդը:

JavaScript Obfuscation օրինակ

նախքան

Ահա մի հիմնական օրինակ, որտեղ մենք ավելացնում ենք երկու թվեր և վերադարձնում արդյունքը.

function addNumbers(a, b) {
    return a + b;
}

Այն բանից հետո

Այս ֆունկցիան ապահովում է ճշգրիտ արդյունքը, բայց դժվար է հասկանալ.

var _0x291b = ['log'];
(function (_0x4bd822, _0x2bd6f7) {
    var _0x1e8b02 = function (_0x5a5d16) {
        while (--_0x5a5d16) {
            _0x4bd822['push'](_0x4bd822['shift']());
        }
    };
    _0x1e8b02(++_0x2bd6f7);
}(_0x291b, 0x1b3));

var _0x2e8b = function (_0x4bd822, _0x2bd6f7) {
    _0x4bd822 = _0x4bd822 - 0x0;
    var _0x1e8b02 = _0x291b[_0x4bd822];
    return _0x1e8b02;
};

function addNumbers(_0x45e3d1, _0x5e8b1a) {
    return _0x45e3d1 + _0x5e8b1a;
}

Երկու գործառույթներն էլ բերում են նույն արդյունքը։ Ես նաև ներառել եմ ֆորմատավորում մշուշված կոդի վրա, որպեսզի կարողանաք կարդալ յուրաքանչյուր տողը… բայց դա բնորոշ չէ: Խճճված կոդը սեղմվում է, որպեսզի ավելի դժվար լինի կարդալը և հետևելը:

Արդյո՞ք AI-ն վերացնում է JavaScript-ի խաբեությունը:

Հետ գալուստով AI, մշուշման արդյունավետությունը կարող է վիճարկվել: Ընդլայնված AI ալգորիթմներ և գեներատիվ AI (GenAI) կարող է ավելի լավ վերլուծել և հասկանալ մշուշված ծածկագիրը և ապաբուսականացնել այն: Արհեստական ​​ինտելեկտը կարող է նաև ուժեղացնել մշուշման տեխնիկան՝ հանգեցնելով սպառազինությունների մրցավազքի կոդի պաշտպանության և հակադարձ ճարտարագիտության միջև:

Ավելի լավ այլընտրանք՝ AJAX

Օգտագործելով AJAX (Ասինխրոն JavaScript և XML) սերվերի կողմում զգայուն տրամաբանությունը կառավարելը, հաճախորդի կողմից ծածկագիրը խճճելու փոխարեն, հաճախ համարվում է ավելի լավ պրակտիկա մի քանի պատճառներով.

  1. ԱնվտանգությունՍերվերի կողմի կոդը ի սկզբանե ավելի անվտանգ է, քանի որ այն երբեք չի ենթարկվում հաճախորդի կողմից: Սա կանխում է վերջնական օգտագործողի կողմից հակադարձ նախագծման կամ կեղծման ցանկացած հնարավորություն:
  2. ՊահպանելիությունՍերվերի կողմի կոդը ավելի հեշտ է պահպանել և թարմացնել: Փոփոխությունները կարող են կատարվել սերվերում՝ առանց հաճախորդի կողմից հավելվածների վերաբաշխման կամ վերաբեռնման:
  3. PerformanceԲարդ գործողությունների բեռնաթափումը սերվերի վրա կարող է բարելավել հաճախորդի կողմից հավելվածի աշխատանքը, հատկապես սահմանափակ մշակման հզորությամբ սարքերում:
  4. ԽոշորությունՍերվերի կողմի լուծումներն ընդհանուր առմամբ ավելի լայնածավալ են: Նրանք կարող են կառավարել ավելի բարդ տրամաբանություն և տվյալների ավելի մեծ հավաքածուներ՝ չազդելով հաճախորդի փորձի վրա:

Ահա մի պարզ օրինակ՝ ցույց տալու համար, թե ինչպես կարող է AJAX-ը օգտագործվել սերվերի կողմից մշակման համար.

Հաճախորդի կողմից JavaScript (օգտագործելով AJAX)

// Function to send a request to the server
function calculateSum(a, b) {
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "calculateSum.php?a=" + a + "&b=" + b, true);
    xhr.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            alert("Sum: " + this.responseText);
        }
    };
    xhr.send();
}

// Example usage
calculateSum(5, 10);

Սերվերի կողմից PHP (calculateSum.php)

<?php
if (isset($_GET['a']) && isset($_GET['b'])) {
    $a = intval($_GET['a']);
    $b = intval($_GET['b']);
    echo $a + $b;
}
?>

բացատրություն

  • Հաճախորդի կողմըJavaScript ֆունկցիան calculateSum ուղարկում է AJAX հարցում սերվերի կողմի սկրիպտին (calculateSum.php) Այն անցնում է երկու թիվ (a և b) որպես հարցման պարամետրեր:
  • Սերվերի կողմըPHP սկրիպտը ստանում է այս թվերը, հաշվարկում է դրանց գումարը և վերադարձնում արդյունքը: Փաստացի հաշվարկի տրամաբանությունը թաքնված է հաճախորդից:
  • Անվտանգություն և կատարողականությունԱյս մոտեցումն ապահովում է տրամաբանությունը՝ այն պահելով սերվերում և թույլ է տալիս ավելի բարդ գործողություններ իրականացնել՝ առանց հաճախորդին ծանրաբեռնելու:

AJAX-ի օգտագործումը սերվերի վրա զգայուն կամ բարդ գործողություններ իրականացնելու համար ամուր մոտեցում է, հատկապես այն հավելվածների համար, որոնք մշակում են զգայուն տվյալներ կամ պահանջում են բարձր անվտանգություն: Այն նվազագույնի է հասցնում հաճախորդի կողմից կոդի բացահայտման հետ կապված ռիսկերը և առաջարկում է ավելի լավ վերահսկել հավելվածի ֆունկցիոնալությունը:

Douglas Karr

Douglas Karr -ի CMO-ն է OpenINSIGHTS և հիմնադիրը Martech Zone. Դուգլասը օգնել է MarTech-ի տասնյակ հաջողակ ստարտափների, աջակցել է ավելի քան 5 միլիարդ դոլարի չափով Martech-ի ձեռքբերումների և ներդրումների պատշաճ ուսումնասիրությանը և շարունակում է աջակցել ընկերություններին իրենց վաճառքի և շուկայավարման ռազմավարությունների իրականացման և ավտոմատացման գործում: Դուգլասը միջազգայնորեն ճանաչված թվային փոխակերպման և MarTech փորձագետ և խոսնակ է: Դուգլասը նաև Դումմիի ուղեցույցի և բիզնեսի առաջնորդության գրքի հրատարակված հեղինակ է:

Առնչվող հոդվածներ

Վերադառնալ սկիզբ կոճակը
փակել

Հայտնաբերվել է Adblock

Martech Zone կարող է անվճար տրամադրել ձեզ այս բովանդակությունը, քանի որ մենք դրամայնացնում ենք մեր կայքը գովազդից ստացված եկամուտների, փոխկապակցված հղումների և հովանավորությունների միջոցով: Մենք երախտապարտ կլինենք, եթե մեր կայքը դիտելիս հեռացնեիք ձեր գովազդային արգելափակիչը: