Turinys
Kai mes kuriame programą su ASP.NET MVC ir mes tai darome naudodami AJAX Turime imtis ypatingų atsargumo priemonių, žiūrėdami į klaidas, kurias mūsų programa gali grąžinti.Jei užklausa nepavyks, gausime a Serverio klaida 500 vartotojui tai nėra gerai, o gal mes gauname pranešimą su klaidos pėdsakais ASP.NET kad jei mes neužfiksuosime jo, kol jis nebus matomas lauke, ir kenkėjiškas vartotojas galėtų gauti duomenų, kad galėtų juos naudoti ir užpulti mūsų svetainę.
Kad išvengtume didelių problemų, kai mūsų programa grąžina klaidą, turime stengtis jas traktuoti kaip išimtis, kad prieš įvykstant klaidai mūsų programa tai žinotų ir pateiktų patogesnį pranešimą, nekenkiantį mūsų saugumui.
A išimtis įvyksta, kai dalis mūsų kodo bando atlikti veiksmą ir nepavyksta, bandant užklausti neegzistuojančius duomenis arba dėl to, kad nepatvirtiname kai kurių įvestų vartotojo duomenų, jei naudojame AJAX Mes galime gauti 500 klaidą, bet taip pat, jei taip neatsitiks ir klaidingi duomenys pateks į mūsų valdiklį, galime gauti klaidos pėdsaką, tokį, kokį matome šiame paveikslėlyje:
The klaidų pėdsakai Jie retai siūlo kūrėjui naudingą informacijos kiekį ir, jei neišvalysime to, kas bus rodoma, galime pakenkti svetainės saugumui, filtruodami konfigūracijos duomenis iš mūsų programos ar serverio.
Kad išvengtumėte visų problemų, kurios gali kilti įvykus klaidai ASP.NET galime sutvarkyti tokias klaidas kaip išimčių ir tam mes galime užfiksuoti klaidą ir išsiųsti asmeninį pranešimą arba tiesiog atsiųsti atsakymą, kad jūsų ieškomo puslapio nėra.
Ką naudotiNorėdami tai padaryti, galime naudoti metodą HttpResponseException kuris leidžia mums perduoti kaip parametrą a HTTP kodas 404 puslapis nerastas.
Šiame paveikslėlyje matome kodą, kuris naudoja minėtą metodą išimčiai tvarkyti, pažiūrėkime:
DIDELIS
Čia viskas yra gana paprasta, pirmiausia ieškome elemento pagal ID, jei jis grįžta tuščias arba neegzistuoja, pavyzdžiui, patvirtiname jį nuliu, nustatysime klaidos pranešimą su metodu HttpResponseException mes nustatome kodą nerastą ir paruošiame pasirinktinį pranešimą, pagaliau paleidžiame tą pranešimą.To dėka mes vengiame siųsti tuščią ar tuščią atsakymą į mūsų programą dėl kurio ji galėjo tam tikru momentu sulūžti ir neteisingai parodyti klaidą, taip pat vartotojui išsiuntėme draugiškesnį pranešimą, kuriame nurodėme, kodėl jo užklausa nepateikė rezultatų.
Gavę suasmenintą pranešimą, mes taip pat galime suteikti konkretesnės informacijos, kurią kūrėjas gali naudoti, lengviau žinoti, kad produktas neegzistuoja, nei norint peržiūrėti tą patį, reikia peržiūrėti 100 eilučių pėdsaką.
Pamoką baigėme sužinoję šiek tiek daugiau apie klaidų nesilaikymo riziką, taip pat sužinojome, kaip su jomis elgtis, laikant jas išimtimis.