SRI jaucējkoda ģenerators
Ģenerējiet Subresource Integrity (SRI) sha384 jaucējkodus JavaScript vai CSS failam un nokopējiet gatavus integrity un crossorigin atribūtus lokāli.
Ielīmējiet faila saturu vai atveriet pašu failu: šis rīks neielādē URL adreses. Skripta lasīšanai no citas vietnes šim serverim būtu jāatļauj piekļuve (CORS) vai mums būtu vajadzīgs savs serveris, kas to ielādē jūsu vietā, bet nekas, ko šeit jaucat, neatstāj jūsu pārlūkprogrammu. Jaukājiet tieši to failu, ko piegādāsiet.
Teksts tiek jaukts kā UTF-8. Pārlūkprogrammas ielīmētā tekstā Windows rindu beigas (CRLF) pārvērš par LF, un viens mainīts baits sabojā jaucējkodu: šaubu gadījumā atveriet pašu failu.
URL tiek tikai ierakstīts fragmentā, tas netiek pieprasīts. Atstājiet tukšu, lai izmantotu faila nosaukumu.
Kā ģenerēt SRI jaucējkodu
- Sadaļā Jaukt izvēlieties Ielīmēts kods vai Faili.
- Ielīmējiet precīzu skripta vai stila lapas saturu laukā Skripta vai stila lapas saturs un nospiediet Ģenerēt SRI jaucējkodu, vai nometiet vienu vai vairākus
.jsun.cssfailus nomešanas zonā. Jaucējkodi atjaunojas rakstīšanas laikā. - Atstājiet atzīmētu SHA-384 (ieteicams) vai pievienojiet SHA-256 un SHA-512. Katrs atzīmētais algoritms pievieno vērtībai vienu marķieri.
- Izvēlieties Tags (automātiski pēc faila nosaukuma,
<script>,<script type="module">vai<link rel="stylesheet">), ierakstiet Resursa URL fragmentam (neobligāti) un izvēlietiescrossoriginrežīmu. - Nokopējiet integrity vērtība vai pilnu tagu.
- Lai pārbaudītu jau izmantotu tagu, ielīmējiet tā vērtību vai visu tagu laukā Pārbaudīt esošu integrity vērtību (neobligāti).
Ko dara Subresource Integrity
Kad lapa ielādē skriptu no CDN, pārlūkprogramma uzticas visam, ko serveris atgriež. Ja CDN ir kompromitēts vai fails ir mainīts, mainītais kods darbojas ar pilnu piekļuvi jūsu lapai. Subresource Integrity (W3C SRI) šo robu aizver: atribūtā integrity jūs publicējat faila paredzamo jaucējkodu, pārlūkprogramma sajauc lejupielādēto un atsakās izpildīt skriptu vai piemērot stila lapu, ja abi atšķiras.
<script src="https://cdn.example.com/lib.min.js"
integrity="sha384-H8BRh8j48O9oYatfu5AZzq6A9RINhZO5H16dQZngK7T62em8MUt1FLm52t+eX6xO"
crossorigin="anonymous"></script>
Vērtība ir algoritma nosaukums, domuzīme un faila baitu Base64 kodēts kopsavilkums. Šis piemērs ir alert('Hello, world.'); jaucējkods no SRI specifikācijas. Ja uzskaitīti vairāki jaucējkodi, pārlūkprogrammas ņem vērā tikai stiprāko klātesošo algoritmu un pieņem failu, ja atbilst kāds šī algoritma jaucējkods. Tā vietne var uzskaitīt divas faila versijas izplatīšanas laikā.
Kāpēc nepieciešams crossorigin
Failam citā izcelsmē pārlūkprogramma var pārbaudīt tā integritāti tikai tad, ja atbilde tiek ielādēta CORS režīmā, tāpēc tagam vajadzīgs atribūts crossorigin, un serverim jāatbild ar galveni Access-Control-Allow-Origin. Publiskiem CDN izmantojiet anonymous (bez sīkfailiem); use-credentials paredzēts retiem privātiem resursiem. Bez CORS pārlūkprogramma failu bloķē, nevis ielādē nepārbaudītu.
Kāpēc šis rīks neielādē URL
Šis rīks jauc tikai kodu, ko ielīmējat, vai failus, ko atverat. Skripta lejupielāde no tā URL lapas iekšienē darbotos tikai tad, ja serveris atļauj starpizcelsmes lasīšanu, un to apiet varētu tikai serveris, kas failu ielādē jūsu vietā un redzētu arī to, ko jaucat. Viss šeit darbojas jūsu pārlūkprogrammā. Vienkāršākā metode ir lejupielādēt tieši to failu, uz kuru atsauksieties (to pašu versiju un to pašu minificēto būvējumu), un atvērt to šeit.
Biežāk uzdotie jautājumi
Kuru algoritmu izmantot?
SHA-384 ir parastā izvēle, un to publicē lielākā daļa CDN. SHA-256 un SHA-512 atbalsta arī visas mūsdienu pārlūkprogrammas. MD5 un SHA-1 SRI nav atļauti.
Mans jaucējkods ir pareizs, bet pārlūkprogramma failu tomēr bloķē. Kāpēc?
Pārbaudiet, vai serveris sūta Access-Control-Allow-Origin un vai tagam ir crossorigin. Pārliecinieties arī, ka CDN piegādā tos pašus baitus: cita versija, automātisks minifikators vai trūkstošs noslēdzošais rindas pārtraukums maina jaucējkodu.
Kāpēc ielīmētajam kodam ir cits jaucējkods nekā failam?
Pārlūkprogrammas teksta laukos Windows rindu beigas (CRLF) pārvērš par LF, un redaktors var pievienot vai noņemt baitu secības zīmi vai noslēdzošo jaunu rindu. Atveriet pašu failu, lai jauktu tā precīzos baitus.
Vai SRI vajadzīgs failiem manā domēnā?
Tas aizsargā pret izmaiņām, kas veiktas pēc jaucējkoda aprēķināšanas, tāpēc visvairāk tas svarīgs trešo pušu resursdatoriem. Saviem failiem parasti ērtāks ir būvētājs, kas jaucējkodus ģenerē būvēšanas laikā.
Vai SRI darbojas attēliem vai fontiem?
Atribūtu integrity atbalsta <script> un <link rel="stylesheet"> (kā arī <link rel="preload"> vai modulepreload šiem resursiem). Attēliem un fontiem tas nav pieejams.
Saistītie rīki
- Jaucējkodu ģenerators Izveidojiet teksta vai jebkura izmēra failu MD5, SHA-1, SHA-256 un SHA-512 jaucējkodus un pārbaudiet kontrolsummas. Viss darbojas jūsu pārlūkprogrammā.
- Base64 kodētājs un atkodētājs Bezmaksas Base64 kodētājs un atkodētājs ar pilnu UTF-8 atbalstu un URL drošu base64url variantu. Darbojas pārlūkprogrammā, nekas netiek augšupielādēts.
- HAR failu skatītājs Atveriet .har failu pārlūkprogrammā: pieprasījumi, galvenes, sīkdatnes, laiki un ūdenskritums. Attīriet to pirms kopīgošanas. Nekas netiek augšupielādēts.