SRI räsi generaator
Loo JavaScripti või CSS-faili jaoks Subresource Integrity (SRI) sha384 räsi ja kopeeri valmis integrity ja crossorigin atribuudid. Töötab kohapeal.
Kleebi faili sisu või ava fail ise: see tööriist ei lae aadresse alla. Teise saidi skripti lugemine eeldaks, et see server seda lubab (CORS), või meie enda serverit, mis selle sinu eest tooks, ning midagi, mida siin räsid, ei lahku sinu brauserist. Räsi täpselt seda faili, mida hakkad serveerima.
Tekst räsitakse UTF-8 kujul. Brauserid muudavad kleebitud tekstis Windowsi reavahetused (CRLF) LF-iks ja üks muutunud bait rikub räsi: kahtluse korral ava fail ise.
URL kirjutatakse ainult lõiku, seda ei päritagi. Tühjaks jättes kasutatakse faili nime.
Kuidas SRI räsi luua
- Vali jaotises Räsi Kleebitud kood või Failid.
- Kleebi skripti või laadilehe täpne sisu lahtrisse Skripti või laadilehe sisu ja vajuta Loo SRI räsi või lohista üks või mitu
.jsja.cssfaili lohistusalale. Räsid uuenevad sisestamise ajal. - Jäta märgituks SHA-384 (soovitatav) või lisa SHA-256 ja SHA-512. Iga märgitud algoritm lisab väärtusele ühe märgendi.
- Vali Silt (automaatne faili nime järgi,
<script>,<script type="module">või<link rel="stylesheet">), kirjuta Ressursi URL lõigu jaoks (valikuline) ja valicrossoriginrežiim. - Kopeeri integrity väärtus või kogu silt.
- Juba kasutatava sildi kontrollimiseks kleebi selle väärtus või kogu silt lahtrisse Kontrolli olemasolevat integrity väärtust (valikuline).
Mida Subresource Integrity teeb
Kui leht laadib skripti sisuedastusvõrgust (CDN), usaldab brauser kõike, mida see server tagastab. Kui CDN on kompromiteeritud või faili on muudetud, käivitub muudetud kood täieliku juurdepääsuga sinu lehele. Subresource Integrity (W3C SRI) sulgeb selle augu: avaldad faili oodatud räsi atribuudis integrity, brauser räsib alla laaditud faili ja keeldub skripti käivitamast või laadilehte rakendamast, kui need kaks erinevad.
<script src="https://cdn.example.com/lib.min.js"
integrity="sha384-H8BRh8j48O9oYatfu5AZzq6A9RINhZO5H16dQZngK7T62em8MUt1FLm52t+eX6xO"
crossorigin="anonymous"></script>
Väärtus on algoritmi nimi, kriips ja faili baitide Base64-kodeeritud kokkuvõte. See näide on SRI spetsifikatsioonist pärit alert('Hello, world.'); räsi. Kui loetletud on mitu räsi, vaatavad brauserid ainult kõige tugevamat olemasolevat algoritmi ja aktsepteerivad faili, kui mõni selle algoritmi räsi ühtib. Nii saab sait uue versiooni juurutamise ajal loetleda faili kaht versiooni.
Miks crossorigin on nõutav
Teise päritolu faili puhul saab brauser selle terviklust kontrollida ainult siis, kui vastus on pärit CORS-režiimis, seega vajab silt atribuuti crossorigin ja server peab vastama päisega Access-Control-Allow-Origin. Avalike CDN-ide jaoks kasuta anonymous (ilma küpsisteta); use-credentials on harvaesinevate privaatsete ressursside jaoks. Ilma CORS-ita blokeerib brauser faili, selle asemel et seda kontrollimata laadida.
Miks see tööriist aadresse ei lae
See tööriist räsib ainult koodi, mille kleebid, või faile, mille avad. Skripti allalaadimine selle aadressilt lehe seest töötaks ainult siis, kui see server lubab päritoluülest lugemist, ning selle ümbersõitmiseks oleks vaja serverit, mis faili sinu eest tooks ja näeks ka seda, mida räsid. Siin töötab kõik sinu brauseris. Lihtsaim viis on laadida alla täpne fail, millele viitad (sama versioon ja sama minimeeritud ehitus), ja avada see siin.
Korduma kippuvad küsimused
Millist algoritmi peaksin kasutama?
SHA-384 on tavaline valik ja seda avaldab enamik CDN-e. SHA-256 ja SHA-512 toetavad samuti kõik tänapäevased brauserid. MD5 ja SHA-1 ei ole SRI-s lubatud.
Minu räsi on õige, kuid brauser blokeerib faili. Miks?
Kontrolli, et server saadab päise Access-Control-Allow-Origin ja et sildil on crossorigin. Veendu ka, et CDN serveerib samu baite: erinev versioon, automaatne minimeerija või puuduv lõpu reavahetus muudavad kõik räsi.
Miks annab kleebitud kood faili omast erineva räsi?
Brauserid muudavad tekstiväljades Windowsi reavahetused (CRLF) LF-iks ja redaktor võib lisada või eemaldada baidijärjekorra märgi või lõpu reavahetuse. Ava fail ise, et räsida selle täpsed baidid.
Kas vajan SRI-d oma domeeni failide jaoks?
See kaitseb muudatuste eest, mis tehti pärast räsi arvutamist, seega on see kõige olulisem kolmandate osapoolte hostide puhul. Oma failide jaoks on tavaliselt lihtsam ehitusvahend, mis genereerib räsid ehitamise ajal.
Kas SRI töötab piltide või fontide jaoks?
Atribuuti integrity toetatakse märgendil <script> ja <link rel="stylesheet"> (ning nende jaoks märgendil <link rel="preload"> või modulepreload). Pildid ja fondid seda kasutada ei saa.
Seotud tööriistad
- Räsigeneraator Loo teksti või mis tahes suurusega failide MD5, SHA-1, SHA-256 ja SHA-512 räsid ning kontrolli kontrollsummasid. Kõik töötab sinu brauseris.
- Base64 kodeerija ja dekodeerija Tasuta Base64 kodeerija ja dekodeerija täieliku UTF-8 toe ning base64url valikuga. Töötab täielikult sinu brauseris, midagi ei saadeta serverisse.
- HAR-faili vaatur Ava .har-fail brauseris, et uurida päringuid, päiseid, küpsiseid, ajastust ja koskdiagrammi, ning puhasta see enne jagamist. Midagi ei laadita üles.