6 հիմնական անվտանգության խորհուրդներ ՝ ձեր PHP կայքը հակերներից պաշտպանելու համար

Ձեր PHP կայքը գործարկված է: Շնորհավոր Բայց սպասեք .. հոգա՞ծ եք անվտանգության էական խստացման մասին?


PHP- ը թեթևաքաշ, բայց շատ հզոր հետադարձման ծրագրավորման լեզու է: Այն լիազորում է գլոբալ վեբ հավելվածների շուրջ 80% -ը ՝ այն դարձնելով զարգացման աշխարհում ամենատարածված լեզուներից մեկը.

Դրա հանրաճանաչության և լայն օգտագործման պատճառը դրա կոդավորման հեշտ կառուցվածքն ու մշակողի համար հարմար գործառույթներն են: PHP- ի վերևում կառուցված են բազմաթիվ CMS և շրջանակներ, և ամբողջ աշխարհի հազարավոր հայտնի ծրագրավորողներ նրա համայնքի կանոնավոր մասն են:.

WordPress- ը հիանալի օրինակ է.

Երբ PHP դիմումները տեղակայված են կենդանի սերվերներում, այն կարող է բախվել հակերության և վեբ հարձակումների մի քանի դեպքերի, ինչը նրա կայքի տվյալները խոցելի է դարձնում գողանալու համար: Համայնքի ամենաքննարկվող թեմաներից մեկն այն է, թե ինչպես ստեղծել լիովին անվտանգ ծրագիր ՝ ստուգելով ծրագրի բոլոր հիմնական նպատակները.

Չնայած իրենց լավագույն ջանքերին, մշակողները միշտ զգուշանում են այն թաքնված անցքերից, որոնք աննկատ են անցնում դիմում մշակելիս: Այս բացերը կարող են լրջորեն վնասել ցանկացած կարևոր տեղամասի տվյալների պաշտպանությանը վեբ հոստինգ PHP MySQL- ի համար ծրագրեր ՝ նրանց խոցելի թողնելով հակերության փորձերի համար.

Այսպիսով, այս հոդվածը վերաբերում է PHP անվտանգության որոշ օգտակար խորհուրդներին, որոնք կարող եք իմաստուն օգտագործել ձեր նախագծերում: Օգտագործելով այս փոքրիկ խորհուրդները, կարող եք համոզվել, որ ձեր դիմումը միշտ բարձր է անվտանգության ստուգումներում և երբեք չի վարկաբեկվում արտաքին վեբ-հարձակումներից:.

Խաչմերուկի սցենար (XSS)

Cross-Site սցենարիզմը ամենավտանգավոր արտաքին հարձակումներից մեկն է, որը կատարվում է ցանկացած վնասակար կոդ կամ սցենար կայք ներարկելով: Դա կարող է ազդել ձեր ծրագրի միջուկի վրա, քանի որ հակերը կարող է ցանկացած տիպի կոդ ներարկել ձեր դիմում ՝ առանց նույնիսկ ակնարկ տալու: Այս հարձակումը հիմնականում տեղի է ունենում այն ​​կայքերում, որոնք ընդունում և ներկայացնում են օգտագործողի տվյալները.

XSS գրոհի դեպքում ներարկված ծածկագիրը փոխարինում է ձեր վեբ կայքի բնօրինակը, այնուամենայնիվ աշխատում է որպես փաստացի կոդ, խանգարելով կայքի աշխատանքը և հաճախ գողանում է տվյալները: Հակերները շրջանցում են ձեր դիմումի հասանելիության հսկողությունը ՝ մուտք գործելով ձեր cookie- ներ, նստաշրջաններ, պատմություն և այլ կարևոր գործառույթներ.

Դուք կարող եք հակահարված տալ այս հարձակմանը ՝ օգտագործելով HTML հատուկ գործառույթներ & ENT_QUOTES ձեր դիմումի ծածկագրերում: Օգտագործելով ENT_QUOTES, դուք կարող եք հեռացնել մեկ և կրկնակի մեջբերման տարբերակները, որոնք թույլ են տալիս մաքրել խաչմերուկի գրությունների հարձակման ցանկացած հնարավորություն.

Խաչմերուկների հարցման կեղծիք (CSRF)

CSRF- ը հաքերներին է հանձնել դիմումների ամբողջական վերահսկողությունը ՝ ցանկացած անցանկալի գործողություն կատարելու համար: Լրիվ վերահսկմամբ ՝ հակերները կարող են վնասակար գործողություններ իրականացնել ՝ վարակված ծածկագիրը փոխանցելով ձեր վեբ կայք, որի արդյունքում տեղի են ունենում տվյալների գողություն, ֆունկցիոնալ փոփոխություններ և այլն: Հարձակումը ստիպում է օգտագործողներին փոխել սովորական պահանջները փոփոխված ապակառուցողականներին, ինչպես, օրինակ, միջոցներն անգիտակցաբար փոխանցելը, ջնջելը: ամբողջ տվյալների բազան ՝ առանց որևէ ծանուցման և այլն.

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

Նիստի առևանգում

Նիստի առևանգումը հարձակում է, որի միջոցով հակերը գողանում է ձեր նստաշրջանի նույնականացումը ՝ նախատեսված հաշիվ մուտք ունենալու համար: Օգտագործելով այդ նստաշրջանի ID- ն, հակերը կարող է վավերացնել ձեր նիստը `հայցելով սերվերին ուղարկելով, որտեղ $ _SESSION զանգվածը վավերացնում է իր ժամանակի ժամը ՝ առանց ձեր գիտելիքները պահելու: Այն կարող է իրականացվել XSS գրոհի միջոցով կամ մուտք ունենալ այն տվյալներ, որտեղ պահվում են նստաշրջանի տվյալները.

Նիստերի հափշտակությունը կանխելու համար միշտ կապեք ձեր նիստերը ձեր իրական IP հասցեին: Այս պրակտիկան օգնում է ձեզ անվավեր ճանաչել նիստերը, երբ անհայտ խախտում է տեղի ունենում, անմիջապես տեղեկացնելով, որ ինչ-որ մեկը փորձում է շրջանցել ձեր նիստը `դիմումի մուտքի վերահսկողությունը ստանալու համար: Եվ միշտ հիշեք, որ ոչ մի դեպքում չհայտնեք ID- ն, քանի որ այն հետագայում կարող է վարկաբեկել ձեր ինքնությունը մեկ այլ հարձակման հետ.

Կանխել SQL ներարկման գրոհները

Տվյալների բազան հանդիսանում է ծրագրի հիմնական բաղադրիչներից մեկը, որը հիմնականում թիրախավորված է հակերների կողմից SQL ներարկային հարձակման միջոցով: Դա հարձակման մի տեսակ է, որի դեպքում հակերը օգտագործում է URL- ի հատուկ պարամետրեր ՝ տվյալների շտեմարան մուտք ունենալու համար: Հարձակումը կարող է իրականացվել նաև վեբ ձևի դաշտերի միջոցով, որտեղ հակերը կարող է փոխել այն տվյալները, որոնք դուք անցնում եք հարցումներից: Փոփոխելով այդ դաշտերը և հարցումները, հակերը կարող է վերահսկել ձեր տվյալների բազան և կարող է իրականացնել մի քանի աղետալի մանիպուլյացիաներ, ներառյալ `ջնջելով դիմումի ողջ տվյալների բազան.

SQL ներարկման նոպաները կանխելու համար միշտ խորհուրդ է տրվում օգտագործել պարամետրացված հարցումներ: Այս PDO հարցումները պատշաճ կերպով փոխարինում են փաստարկները SQL հարցումը գործարկելուց առաջ ՝ արդյունավետորեն բացառելով SQL ներարկման հարձակման ցանկացած հնարավորությունը: Այս պրակտիկան ոչ միայն օգնում է ձեզ ապահովել ձեր SQL հարցումները, այլև դրանք կառուցվածքային է դարձնում արդյունավետ մշակման համար.

Միշտ օգտագործեք SSL վկայագրեր

Որպեսզի ավարտվեն ապահովված տվյալների փոխանցումը ինտերնետում, միշտ օգտագործեք SSL վկայագրեր ձեր դիմումներում: Այն համաշխարհային ճանաչված ստանդարտ արձանագրություն է, որը հայտնի է որպես «Հիպերտեքստի փոխանցման արձանագրություն» (HTTPS) `սերվերների միջև տվյալների անվտանգ փոխանցման համար: Օգտագործելով SSL վկայագիր, ձեր դիմումը ստանում է տվյալների փոխանցման անվտանգ ուղին, ինչը գրեթե անհնար է դարձնում հակերների ներխուժումը ձեր սերվերների վրա.

Google Chrome- ի, Safari- ի, Firefox- ի, Opera- ի և այլոց նման բոլոր վեբ բրաուզերները խորհուրդ են տալիս օգտագործել SSL վկայագիր, քանի որ այն ապահովում է գաղտնագրված արձանագրություն `տվյալների փոխանցման, ստացման և գաղտնագրման միջոցով ինտերնետում:.

Թաքցրեք ֆայլերը զննարկիչից

Միկրո PHP- ի շրջանակներում կա հատուկ գրացուցակ, որն ապահովում է այնպիսի կարևոր ֆայլերի պահպանում, ինչպիսիք են վերահսկիչները, մոդելները, կազմաձևման ֆայլը (.yaml) և այլն:.

Ժամանակի մեծ մասը, այս ֆայլերը չեն մշակվում զննարկչի կողմից, այնուամենայնիվ դրանք դիտվում են դիտարկիչում ավելի երկար ժամանակահատվածով ՝ կառուցապատման համար անվտանգության խախտում կառուցելով:.

Այսպիսով, միշտ պահեք ձեր ֆայլերը հանրային պանակում, այլ ոչ թե դրանք պահեք արմատային գրացուցակում: Դա նրանց կդարձնի ավելի քիչ հասանելի զննարկիչում և կթաքցնի գործառույթները ցանկացած հավանական հարձակվողից.

Եզրակացություն

PHP դիմումները միշտ խոցելի են արտաքին հարձակումներից, բայց օգտագործելով վերը նշված խորհուրդները, դուք կարող եք հեշտությամբ ապահովել ձեր ծրագրի միջուկները ցանկացած վնասակար հարձակումից: Լինելով ծրագրավորող ՝ ձեր պարտականությունն է պահպանել ձեր վեբ կայքի տվյալները և այն դարձնել առանց սխալների.

Բացի այս խորհուրդներից, շատ տեխնիկա կարող է օգնել ձեզ ապահովել ձեր վեբ հավելվածը արտաքին հարձակումներից, ինչպես օրինակ `ամպային հոստինգի լավագույն լուծումներից օգտվելը, որն ապահովում է ձեզ համար անվտանգության օպտիմալ հնարավորություններ, ամպային WAF, փաստաթղթերի արմատավորումը, սպիտակեցնող IP հասցեները և այլն:.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map