Думка, што змена VPN можа скінуць дазвол сайта на апавяшчэнні, памылковая так, што каштуе людзям рэальнага часу. Нічога ў вашым адрасе выхаду не з’яўляецца часткай запісу дазволу. Дазвол сайта захоўваецца супраць яго крыніцы ўнутры аднаго профілю браўзера, таму пераход з аднаго сервера на іншы пакідае яго дакладна там, дзе ён быў. Што сапраўды змяняецца, дык гэта ваша сесія, і менавіта на яе людзі звычайна глядзяць, калі вырашаюць, што VPN нешта зрабіў з іх апавяшчэннямі.

Тры сховішчы, якія выглядаюць як адна налада

Дазвол — гэта адзін запіс, перамыкач апавяшчэнняў аперацыйнай сістэмы — іншы, а ўласны стан падпіскі сайта — трэці. Кожны адклікаецца ў іншым месцы іншым дзеяннем.

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

Да чаго прымацаваны дазвол

Дазвол на вэб-апавяшчэнні дзейнічае па крыніцы і па профілі. Ён прытрымліваецца 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, як і без яго. Знаёмы браўзер, які паказвае паведамленне, не доказ таго, што адпраўнік або спасылка законныя.

Падобныя артыкулы