Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 7822|Svare: 1

Forhindre CSRF-angrep på informasjonskapselens SameSite-egenskap

[Kopier lenke]
Publisert 17.04.2022 kl. 20:24:47 | | | |
SameSite-egenskapen

Fra og med Chrome 51 har et nytt SameSite-attributt blitt lagt til i nettleserens informasjonskapsler for å forhindre CSRF-angrep og brukersporing (ondsinnet tredjeparts innhenting av informasjonskapsler), og for å begrense tredjepartscookies, og dermed redusere sikkerhetsrisikoen.

SameSite definert i RFC6265bis:Innloggingen med hyperkoblingen er synlig.

Om CSRF-angrepsoppsummering:

ASP.NET CSRF-angrep Ajax-forespørsel innkapsling
https://www.itsvse.com/thread-8077-1-1.html

mvc ajax med AntiForgeryToken for å forhindre CSRF-angrep
https://www.itsvse.com/thread-4207-1-1.html

Analyser QQ Quick Login-protokoll og implementer "CSRF"
https://www.itsvse.com/thread-3571-1-1.html
SameSite-egenskapen kan settes til tre verdier:Strict、Lax、None

Streng: Forby strengt tredjepart å få tilgang til informasjonskapsler, og ikke send informasjonskapsler under noen omstendigheter når de er på tvers av nettsteder; Cookies vil kun bli inkludert hvis URL-en til den nåværende siden samsvarer med forespørselsmålet. Denne regelen er for streng og kan føre til en veldig dårlig brukeropplevelse. For eksempel, hvis det finnes en GitHub-lenke på den nåværende nettsiden, vil brukerne ikke ha GitHub-informasjonskapsler når de klikker på hoppet, og hoppet har alltid vært avlogget.

Slapp: Forhindre kryss-nettsted, i de fleste tilfeller er det forbudt å hente informasjonskapsler, bortsett fra GET-forespørsler (lenker, forhåndsinnlastinger, GET-skjemaer) som navigerer til destinasjons-URL-en; Når Strict eller Lax er satt, elimineres CSRF-angrep i praksis. Selvfølgelig forutsetter dette at brukernettleseren støtter SameSite-egenskapen.

SameSite-attributtDefault SameSite=Lax[Denne operasjonen gjelder for versjoner etter at Google lanserte Chrome 80 stabil versjon 4. februar 2019]



Ingen: Det finnes ingen grenser.

Secure-attributtet må også være satt (informasjonskapsler kan kun sendes over HTTPS-protokollen), ellers vil det ikke være gyldig. [Denne operasjonen gjelder for versjoner etter at Google lanserte Chrome 80 stabil versjon 4. februar 2019]


Test SameSite-egenskapen

Vi laster dynamisk inn et bilde av sted A gjennom F12-konsollen på sted A, koden er som følger:

Vi kan se fra nettverksforespørselen at når sted A ber om et bilde av domenenavnet til sted A, vil det gjøre detBær kjeks(SameSite har ingen innstillinger, altså Lax), som vist på bildet nedenfor:



Vi finner tilfeldig et B-sted, og laster deretter dynamisk inn bildet av A-stedet og finner detIkke bærendeEnhver kjeks, som vist nedenfor:



(Slutt)





Foregående:jQuery hide fungerer ikke to løsninger
Neste:Vinkelelement ngif skjult synlighet vises og skjules
Publisert 17.04.2022 kl. 21:20:07 |
Lær å lære...
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com