Mintis, kad VPN pakeitimas gali atstatyti svetainės pranešimų leidimą, klaidinga taip, kad žmonėms kainuoja tikrą laiką. Niekas jūsų išėjimo adrese nėra leidimo įrašo dalis. Svetainės leidimas saugomas pagal jos kilmę viename naršyklės profilyje, todėl perėjimas nuo vieno serverio prie kito palieka jį ten, kur jis buvo. Tai, kas iš tikrųjų keičiasi, yra jūsų sesija, ir į ją žmonės dažniausiai žiūri, kai nusprendžia, kad VPN kažką padarė jų pranešimams.

Trys saugyklos, kurios atrodo kaip vienas nustatymas

Leidimas yra vienas įrašas, operacinės sistemos pranešimų jungiklis yra kitas, o pačios svetainės prenumeratos būsena yra trečias. Kiekvienas atšaukiamas kitoje vietoje kitu veiksmu.

LayerWhere it livesWhat actually revokes it
Permission grantBrowser profile, keyed by originSite settings, site reset, or clearing site data
OS delivery switchOperating system notification settingsThe OS per-app or per-browser toggle
Push subscriptionPush service, bound to a service worker registrationUnsubscribe, or a subscription the service considers expired

Prie ko leidimas pritvirtintas

Žiniatinklio pranešimų leidimas yra pagal kilmę ir pagal profilį. Jis seka https://app.example.com o ne jūsų viešąjį adresą, todėl ta pati svetainė, kurios klausta kitame kompiuteryje, turi klausti dar kartą, ir todėl kitas VPN galinis taškas nesukuria naujo prašymo. Patikrinkite ten, kur tai įrašoma: pranešimų skydelis svetainės nustatymuose išvardija kilmes, kurioms suteiktas leidimas, o pats puslapis gali pranešti savo būseną.

chrome://settings/content/notifications
navigator.permissions.query({name: 'notifications'})
chrome://serviceworker-internals

Užklausa praneša būseną, kurią kilmė jau turi, neprašydama naujos, o service worker puslapis yra vieta, kur registracija ir jos push prenumerata gyvena arba negyvena. Jei leidimas yra, o pristatymas vis tiek nepavyksta, žiūrite į trečią sluoksnį, o ne į pirmą.

push kelias yra atskiras santykis

Web Push prideda prenumeratą, kurios puslapis tiesiogiai nekontroliuoja. Naršyklė prašo PushSubscription iš push paslaugos, duoda puslapiui galinio taško URL, o pristatymas vėliau eina į tą tašką ir perduodamas registruotam service worker. MDN dokumentacija apie PushSubscription aprašo galinį tašką kaip pasirinktinį URL push serveryje prenumeruojančiam worker, ir tai yra visa esmė: tai pristatymo galimybė, o ne viešas adresas, kurį skelbiate.

Iš to kyla dvi pasekmės. Pirma, galinio taško URL turi būti traktuojamas kaip slaptas, todėl jam ne vieta viešoje palaikymo gijoje. Antra, push paslauga taiko savo autentifikaciją, todėl vien URL turėjimas nėra įrodymas, kad kas nors gali išsiųsti autentifikuotą pranešimą. Kai atsisakote prenumeratos, naršyklė liepia push paslaugai panaikinti prenumeratą, ir būtent šis veiksmas nutraukia pristatymą. VPN serverių keitimas nėra tas veiksmas.

Kodėl VPN atrodo kaltas

Pakeiskite išėjimo adresą ir daug svetainių jus iš naujo autentifikuos, pasuks sesijos slapuką arba iš naujo nupieš nustatymų puslapį nuo nulio. Tada tos svetainės pranešimai gali sustoti dėl priežasčių, neturinčių nieko bendra su leidimu: nauja sesija nėra prenumeruota, svetainė iš naujo tikrina savo rinkodaros sutikimą, arba regioninė taisyklė slepia funkciją. Pristatymas taip pat gali nepavykti, nes push galinio taško hostas per naują kelią nepasiekiamas arba lėtas, o tai iš išorės atrodo identiškai kaip atšauktas leidimas.

Skaitykite sluoksnius atskirai, prieš ką nors darant. Leidimų skydelis sako, ar leidimas egzistuoja; service worker sąrašas sako, ar yra registracija ir prenumerata; operacinės sistemos jungiklis sako, ar naršyklė apskritai gali ką nors rodyti.

Pakeiskite tai, ką ketinote pakeisti

Jei norite, kad pranešimai sustotų, atšaukite tos kilmės leidimą ir atsisakykite svetainės push nustatymo prenumeratos, tada patvirtinkite, kad operacinės sistemos jungiklis nėra vienintelis dalykas tarp svetainės ir jūsų užrakto ekrano. Būsimų pranešimų blokavimas neištrina paskyros duomenų, kuriuos svetainė jau turi, ir tai yra atskiras prašymas svetainei.

Jei norite kito tinklo kelio, pakeiskite VPN. Jis veikia sesijos tapatybę, geografines taisykles ir tai, kuriuos serverius galite pasiekti, o pranešimų leidimą palieka nepaliestą.

Elkitės su pranešimo turiniu su tuo pačiu įtarumu per VPN kaip ir be jo. Pažįstama naršyklė, rodanti pranešimą, nėra įrodymas, kad siuntėjas ar nuoroda yra teisėti.

Susiję straipsniai