Ideea că o schimbare de VPN poate reseta permisiunea unui site pentru notificări este greșită într-un mod care le costă pe oameni timp real. Nimic din adresa ta de ieșire nu face parte din înregistrarea permisiunii. Permisiunea unui site este stocată față de originea lui într-un singur profil de browser, așa că mutarea de pe un server pe altul o lasă exact unde era. Ce se schimbă de fapt este sesiunea ta, și de obicei la asta se uită oamenii când decid că VPN-ul a făcut ceva cu notificările lor.

Trei depozite care arată ca o singură setare

Permisiunea este o înregistrare, comutatorul de notificări al sistemului de operare este alta, iar starea abonamentului site-ului însuși este a treia. Fiecare este revocat într-un loc diferit printr-o acțiune diferită.

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

De ce este legată permisiunea

Permisiunea pentru notificări web este pe origine și pe profil. Ea urmează https://app.example.com în locul adresei tale publice, motiv pentru care același site întrebat pe altă mașină trebuie să întrebe din nou, și motiv pentru care un alt punct final VPN nu produce o cerere nouă. Verifică-o acolo unde este înregistrată: panoul de notificări din setările site-ului listează originile cărora li s-a acordat permisiunea, iar pagina în sine își poate raporta starea.

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

Interogarea raportează starea pe care originea o are deja fără a cere una nouă, iar pagina service worker este locul unde o înregistrare și abonamentul ei push trăiesc sau nu reușesc să trăiască. Dacă permisiunea există și livrarea tot eșuează, te uiți la al treilea strat și nu la primul.

Calea push este o relație de sine stătătoare

Web Push adaugă un abonament pe care pagina nu îl controlează direct. Browserul cere unul PushSubscription de la un serviciu push, dă paginii un URL de punct final, iar livrarea merge mai târziu la acel punct final și este transmisă service worker-ului înregistrat. Documentația MDN despre PushSubscription descrie punctul final ca un URL personalizat la un server push pentru worker-ul care se abonează, și exact acesta este rostul: este o capacitate de livrare, nu o adresă publică pe care o publici.

De aici decurg două consecințe. În primul rând, un URL de punct final trebuie tratat ca sensibil, așa că nu îi este locul într-un fir public de asistență. În al doilea rând, serviciul push impune propria autentificare, așa că a deține doar URL-ul nu este dovada că cineva poate trimite un mesaj autentificat. Când te dezabonezi, browserul îi spune serviciului push să invalideze abonamentul, și aceasta este acțiunea care încheie livrarea. Schimbarea serverelor VPN nu este acea acțiune.

De ce VPN-ul pare vinovat

Schimbă adresa de ieșire și multe site-uri te autentifică din nou, rotesc un cookie de sesiune sau redesenează pagina de setări de la zero. Notificările de la acel site pot apoi să se oprească din motive care nu au nimic de-a face cu permisiunea: noua sesiune nu este cea abonată, site-ul își reverifică propriul consimțământ de marketing, sau o regulă regională ascunde funcția. Livrarea poate eșua și pentru că gazda punctului final push este inaccesibilă sau lentă prin noua cale, ceea ce din exterior arată identic cu o permisiune revocată.

Citește straturile separat înainte de a trage vreo concluzie. Panoul de permisiuni spune dacă permisiunea există; lista de service workers spune dacă există înregistrare și abonament; comutatorul sistemului de operare spune dacă browserul poate afișa ceva.

Schimbă ce voiai să schimbi

Dacă vrei ca notificările să se oprească, revocă permisiunea pentru acea origine și dezabonează setarea push a site-ului, apoi confirmă că nu comutatorul sistemului de operare este singurul lucru dintre site și ecranul tău de blocare. Blocarea notificărilor viitoare nu șterge datele de cont pe care site-ul le are deja, iar aceasta este o cerere separată către site.

Dacă vrei o altă cale de rețea, schimbă VPN-ul. Afectează identitatea sesiunii, regulile geografice și serverele la care poți ajunge, și lasă permisiunea pentru notificări neatinsă.

Tratează conținutul unei notificări cu aceeași neîncredere printr-un VPN ca și fără el. Un browser familiar care afișează un mesaj nu este dovada că expeditorul sau linkul sunt legitime.

Articole similare