AMcoder - javascript, python, java, html, php, sql

Ինչպե՞ս կարող եմ ապահովել AJAX հարցումը վեբ ծառայությանը:

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

Ես կփոխեի օբյեկտները կարգաբերիչից և կկատարեի AJAX հարցումները հենց կոնսոլից, և խնդիրներ չկային, վեբ ծառայությունը կկանչեր և կաշխատի լավ:

Սա ինձ համար անհանգստություն առաջացրեց, քանի որ իմ ընկերության աշխատակիցների մեծ մասը մշակողներ են, և ես անհանգստանում եմ, որ նրանք կարող են «խաղալ» կոդի հետ՝ կա՛մ փոխելու, կա՛մ անվավեր տվյալների բազա մուտք գործող տվյալները:

Հնարավո՞ր է ապահովել AJAX հարցումը սերվերին, որպեսզի օգտվողները չկարողանան փոխել տարրերը իրենց բրաուզերի վրիպազերծիչում և տեղադրել այդ փոփոխությունները սերվերում:


  • Ոչ, դա հնարավոր չէ։ Հաճախորդը լիովին վերահսկում է այն, ինչ նա ուղարկում է սերվերին: Այն ամենը, ինչ դուք կարող եք անել, այն վավերացնելն է սերվերի վերջում: 17.07.2013
  • Ահա թե ինչու դուք միշտ մաքրում եք մուտքային տվյալները սերվեր 17.07.2013
  • Կարճ պատասխան՝ ոչ, այլևս պատասխանեք, դա կարևոր չէ, քանի որ դուք միշտ պետք է վավերացնեք օգտվողի մուտքագրումը սերվերում: 17.07.2013
  • Սրա հետ աշխատելու ընդհանուր եղանակներն են ajax հարցումների ձևաչափում շատ կոնկրետ լինելը, նիստերի մշակումը սեսիայի ստեղներով, որպեսզի սեսիայի տվյալները պահվեն սերվերում և չուղարկվեն հաճախորդին, բացի բանալին, և սահմանափակել օգտվողներին միայն ինչ նրանք պետք է կարողանան մուտք գործել նշված նստաշրջանի տվյալների միջոցով: Դուք կարող եք նաև կիրառել օգտագործման սահմանափակումներ, ինչպիսիք են միայն x հարցումներ րոպեում մեկ նստաշրջանի համար և այլն: 17.07.2013
  • Լավագույնը, որ դուք կարող եք անել, դա սերվերի վրա ամեն ինչ վավերացնելն է, և անհրաժեշտ է ունենալ վավերացում/թույլատրում սերվերի վրա՝ օգտագործողի կողմից օգտագործվող գործողության համար: 17.07.2013
  • Ինչպես նշվեց վերևում, չկա որևէ կերպ կանխելու տվյալների փոփոխումը: Այն, ինչ դուք կարող եք անել, հաշվարկել ինչ-որ հեշ (օրինակ, md5)՝ հիմնվելով պարամետրերի բովանդակության վրա, նախքան դրանք տեղադրելը: Սերվերի կողմից դուք վերահաշվարկում եք հեշը և եթե այն համընկնում է, դուք շարունակում եք ձեր կանոնավոր վավերացման գործընթացը: Բացարձակապես անվտանգ չէ, բայց դա խանգարում է տվյալների կեղծումը: 17.07.2013
  • @Okmer MD5-ը կա՛մ չափազանցված է, կա՛մ բավարար չէ՝ կախված նրանից, թե ինչպես եք դրան նայում: Այն կրիպտոգրաֆիկորեն ապահով չէ, բայց նաև շատ ավելի դանդաղ է, համեմատած լավ ոչ գաղտնագրային հեշի հետ: Եթե ​​դուք, այնուամենայնիվ, պատրաստվում եք օգտագործել JS հեշինգ գրադարան, կարող եք նաև այն դարձնել SpookyHash կամ MurmurHash կամ CityHash-ի նման: 18.07.2013
  • Դա հնարավոր չէ. Լավագույնը, որ դուք կարող եք անել, վավերացնելն է և նաև օգտագործել անվտանգ տրանսպորտային շերտ (SSL), բայց դա չի խանգարի օգտվողին խառնվել վրիպազերծիչի պատուհանին: 18.07.2013
  • @ps_md Ինչքան արժե, ես երբեք չեմ ձանձրացել կամ այնքան սոցիոպաթիկ չեմ եղել աշխատավայրում, որպեսզի իրականում փորձեմ և փչացնել ներցանցային հավելվածների արտադրական տվյալների բազաները: Այստեղ դուք կարող եք ոչնչի համար անհանգստանալ: Այնուամենայնիվ, կարող է լավ գաղափար լինել աուդիտի ծառայության զանգերը՝ տեսնելու, թե ինչն է կոտրել: 18.07.2013
  • @millimoose Ես համաձայն եմ md5-ի մասին: Դա առաջին բանն էր, որ մտքովս անցավ՝ պարզապես մատնանշելու համար հեշը հաշվարկելու գաղափարը։ 18.07.2013

Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..