Ново местоположение на VPN не нулира разрешението за известия
Разрешението за известия принадлежи на произхода на сайта, а не на вашия IP. Вижте кой слой държи всяко разрешение и защо доставката на push изглежда счупена през VPN.
Идеята, че смяната на VPN може да нулира разрешението за известия на даден сайт, е погрешна по начин, който коства на хората реално време. Нищо в изходния ви адрес не е част от записа за разрешението. Разрешението на сайта се съхранява спрямо неговия произход в един профил на браузъра, така че преместването от един сървър на друг го оставя точно там, където е било. Това, което наистина се променя, е сесията ви, и обикновено точно нея хората гледат, когато решат, че VPN-ът е направил нещо с известията им.
Три хранилища, които изглеждат като една настройка
Разрешението е един запис, превключвателят за известия на операционната система е друг, а собственото състояние на абонамента на сайта е трето. Всяко се отменя на различно място с различно действие.
| Layer | Where it lives | What actually revokes it |
|---|---|---|
| Permission grant | Browser profile, keyed by origin | Site settings, site reset, or clearing site data |
| OS delivery switch | Operating system notification settings | The OS per-app or per-browser toggle |
| Push subscription | Push service, bound to a service worker registration | Unsubscribe, or a subscription the service considers expired |
Към какво е прикачено разрешението
Разрешението за уеб известия е по произход и по профил. То следва https://app.example.com , а не публичния ви адрес, поради което същият сайт, попитан на друга машина, пак трябва да попита отново, и поради което различна крайна точка на VPN не създава ново запитване. Проверете го там, където е записано: панелът за известия в настройките на сайта изброява произходите с дадено разрешение, а самата страница може да съобщи състоянието си.
chrome://settings/content/notifications
navigator.permissions.query({name: 'notifications'})
chrome://serviceworker-internals
Заявката съобщава състоянието, което произходът вече има, без да иска ново, а страницата на service worker е мястото, където регистрацията и нейният push абонамент живеят или не успяват да живеят. Ако разрешението е налице, а доставката все още се проваля, гледате третия слой, а не първия.
Пътят на push е отделна връзка
Web Push добавя абонамент, който страницата не контролира пряко. Браузърът иска PushSubscription от push услуга, дава на страницата URL на крайна точка и доставката по-късно отива до тази крайна точка и се предава на регистрирания service worker. Документацията на MDN за PushSubscription описва крайната точка като персонализиран URL при push сървър за абонирания worker, което е целият смисъл: това е възможност за доставка, а не публичен адрес, който публикувате.
Следват две последици. Първо, URL на крайна точка трябва да се третира като чувствителен, така че не му е мястото в публична тема за поддръжка. Второ, push услугата налага собствена автентикация, така че притежаването само на URL не е доказателство, че някой може да изпрати автентикирано съобщение. Когато се отпишете, браузърът казва на push услугата да обезсили абонамента и точно това действие прекратява доставката. Смяната на VPN сървъри не е това действие.
Защо VPN-ът изглежда виновен
Сменете изходния си адрес и много сайтове ви автентикират наново, сменят бисквитка за сесия или преизчертават страницата с настройки от нулата. Тогава известията от този сайт могат да спрат по причини, които нямат нищо общо с разрешението: новата сесия не е абонираната, сайтът проверява отново своето маркетингово съгласие или регионално правило скрива функцията. Доставката също може да се провали, защото хостът на push крайната точка е недостъпен или бавен през новия път, което отвън изглежда идентично на отменено разрешение.
Четете слоевете поотделно, преди да заключите нещо. Панелът за разрешения казва дали разрешението съществува; списъкът на service worker казва дали съществуват регистрация и абонамент; превключвателят на операционната система казва дали браузърът може да показва каквото и да е.
Променете това, което сте имали предвид да промените
Ако искате известията да спрат, отменете разрешението за този произход и отпишете push настройката на сайта, после потвърдете, че превключвателят на операционната система не е единственото нещо между сайта и екрана ви за заключване. Блокирането на бъдещи известия не изтрива данните на акаунта, които сайтът вече има, и това е отделна заявка към сайта.
Ако искате различен мрежов път, сменете VPN-а. Той влияе на идентичността на сесията, гео правилата и до кои сървъри можете да стигнете, и оставя разрешението за известия незасегнато.
Отнасяйте се към съдържанието на известие със същото подозрение през VPN, както и без него. Познат браузър, който показва съобщение, не е доказателство, че подателят или връзката са законни.