{"id":35532,"date":"2019-10-31T22:04:52","date_gmt":"2019-10-31T19:04:52","guid":{"rendered":"https:\/\/prohoster.info\/blog\/bezopasnye-push-uvedomleniya-ot-teorii-k-praktike\/"},"modified":"2019-10-31T22:04:52","modified_gmt":"2019-10-31T19:04:52","slug":"bezopasnye-push-uvedomleniya-ot-teorii-k-praktike","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/bezopasnye-push-uvedomleniya-ot-teorii-k-praktike","title":{"rendered":"Notifiche push sicure: dalla teoria alla pratica","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ciao, Habr! <\/p>\n<p>Oggi parler\u00f2 di ci\u00f2 su cui io e i miei colleghi siamo stati impegnati per alcuni mesi: le notifiche push per i messenger mobile. Come ho gi\u00e0 detto, nella nostra applicazione poniamo un forte accento sulla sicurezza. Per questo motivo, abbiamo indagato se ci siano \"punti deboli\" nelle notifiche push e, se s\u00ec, come possiamo mitigarli per aggiungere questa utile opzione al nostro servizio.<\/p>\n<p>Pubblico la traduzione del nostro <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/adamant-im\/push-notifications-friends-or-foes-b118b67ed258?postPublishedType=repub\">articolo su Medium<\/a><\/noindex> con alcune aggiunte da parte mia. In esso ci sono le conclusioni dell'\"indagine\" e una narrazione su come \u00e8 stata risolta la questione.<\/p>\n<h2>Esploriamo il materiale tecnico<\/h2>\n<p>\nNel modello classico, le notifiche push rendono i messenger vulnerabili ad attacchi MITM (Man-in-the-middle, \"uomo nel mezzo\"). Ad esempio, Google, Microsoft e la vecchia versione di iMessage inviano le chiavi di crittografia ai server Apple \u2014 sul server avviene l'autenticazione degli utenti e la decrittazione dell'intestazione del messaggio (o del suo contenuto).<\/p>\n<p><img decoding=\"async\" alt=\"Notifiche push sicure: dalla teoria alla pratica\" src=\"\/wp-content\/uploads\/2019\/06\/5a1d3de5fc9c7d6da3f48490dccd2ab6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDi conseguenza, c'\u00e8 la possibilit\u00e0 di leggere le conversazioni, accedendo al server delle notifiche push. Ci\u00f2 significa che qualsiasi forma di crittografia delle conversazioni risulta inutile: le notifiche push lasceranno comunque la possibilit\u00e0 di lettura da parte di terzi. Gli autori dell'articolo hanno discusso questo aspetto in dettaglio. <noindex><a rel=\"nofollow\" href=\"https:\/\/xakep.ru\/2018\/06\/14\/useless-encryption\/\">\u201cCriptati in modo efficace\u201d<\/a><\/noindex> su Xaker.ru, dedicato ai metodi di crittografia dei messaggi. <\/p>\n<p>Se pensate che i server di Apple e Google non possano mai subire perdite delle chiavi di crittografia degli utenti, riflettete sul fatto che i loro dipendenti hanno accesso a questi server. E i dipendenti sono persone.<br \/>\nNonostante tutte le vulnerabilit\u00e0 dei push, molti messaggeri 'sicuri', inclusi Signal e Telegram, li utilizzano. Altrimenti gli utenti sarebbero costretti a monitorare manualmente i nuovi messaggi, accedendo continuamente all'app. Questo \u00e8 piuttosto scomodo, e i messaggeri concorrenti avrebbero un vantaggio.<\/p>\n<h2>Paranoia e buon senso<\/h2>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNel nostro progetto, abbiamo affrontato questa questione alcuni mesi fa. Avevamo bisogno di implementare l'opzione di notifiche push per rimanere competitivi. Ma allo stesso tempo, non volevamo creare una falla nella sicurezza, perch\u00e9 qualsiasi fuga di dati compromette la fiducia nel progetto.<\/p>\n<p>Tuttavia, abbiamo gi\u00e0 un vantaggio importante: il nostro messaggero \u00e8 decentralizzato (i dati sono immagazzinati nella blockchain), e i dipendenti non hanno accesso agli account. Le chiavi di crittografia sono solo degli utenti, mentre le chiavi pubbliche degli interlocutori sono disponibili nella blockchain per difendersi dagli attacchi MITM.<\/p>\n<p>Nella prima versione delle notifiche push abbiamo deciso di assicurarci al massimo, non trasmettendo affatto il testo del messaggio. Il servizio push riceveva dal nodo non il testo del messaggio, ma solo un segnale che ne attestava la ricezione. Pertanto, l'utente vedeva la notifica \"\u00c8 arrivato un nuovo messaggio\". Era possibile leggerlo solo nel messenger. <\/p>\n<p><img decoding=\"async\" alt=\"Notifiche push sicure: dalla teoria alla pratica\" src=\"\/wp-content\/uploads\/2019\/06\/5f4bf5861141666105cd5c76c27c796c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?time_continue=21&amp;v=WK3gyH7_iAw\">Come funzionava: video<\/a><\/noindex>.<\/p>\n<p>Dopo ci\u00f2, abbiamo appreso che nell'ultima versione delle notifiche di Apple sono stati introdotti nuovi elementi di sicurezza. Essi <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.apple.com\/documentation\/usernotifications\/unnotificationserviceextension\">hanno rilasciato<\/a><\/noindex> UNNotificationServiceExtension, che consente agli sviluppatori di inviare dati di notifica completamente crittografati tramite APNS. Successivamente, l'applicazione sul dispositivo dell'utente finale esegue la decodifica (o scarica dati aggiuntivi) e visualizza la notifica. Questa \u00e8 stata la base per la seconda versione delle notifiche push.<\/p>\n<p>Attualmente abbiamo sviluppato la seconda versione delle notifiche push per iOS, che consente di visualizzare il testo del messaggio senza compromettere la sicurezza. Nella nuova concezione, la logica \u00e8 la seguente:<\/p>\n<ul>\n<li>Il servizio push invia una notifica push con il numero di transazione (il messaggio crittografato pu\u00f2 essere molto grande e le dimensioni delle notifiche sono fortemente limitate)<\/li>\n<li>Il dispositivo, una volta ricevuta la notifica, attiva il nostro NotificationServiceExtension: una micro-app che richiede alla nodo la transazione tramite ID, decrittografa utilizzando la passphrase salvata e restituisce un nuovo avviso al sistema. La passphrase \u00e8 conservata in uno spazio sicuro.<\/li>\n<li>Il sistema mostra una notifica con il messaggio decrittografato o la traduzione.<\/li>\n<li>Le chiavi non escono mai, cos\u00ec come il messaggio in testo normale. Il servizio push non ha la possibilit\u00e0 di decrittografare il messaggio. <\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Notifiche push sicure: dalla teoria alla pratica\" src=\"\/wp-content\/uploads\/2019\/06\/9b137036738a742c93e5b97a2f0acea5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQuesta versione \u00e8 stata considerata funzionale ed \u00e8 stata implementata nell'ultimo aggiornamento dell'app per iOS.<br \/>\nColoro che sono interessati all'aspetto tecnico possono guardare il codice sorgente: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Adamant-im\/adamant-notificationService\/\">github.com\/Adamant-im\/adamant-notificationService<\/a><\/noindex>.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/456902\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u0447\u0435\u043c \u043c\u044b \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0437\u0430\u043d\u044f\u0442\u044b \u0443\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432: \u043e \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u043e\u0432. \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0443\u043f\u043e\u0440 \u0441\u0434\u0435\u043b\u0430\u043d \u043d\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0432\u044b\u044f\u0441\u043d\u044f\u043b\u0438, \u0435\u0441\u0442\u044c \u043b\u0438 \u0443 \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 \u201c\u0441\u043b\u0430\u0431\u044b\u0435 \u043c\u0435\u0441\u0442\u0430\u201d \u0438 \u0435\u0441\u043b\u0438 \u0434\u0430, \u0442\u043e \u043a\u0430\u043a \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0445 \u043d\u0438\u0432\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u043e\u043f\u0446\u0438\u044e \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26645,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35532","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u0447\u0435\u043c \u043c\u044b \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0437\u0430\u043d\u044f\u0442\u044b \u0443\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432: \u043e \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u043e\u0432. \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0443\u043f\u043e\u0440 \u0441\u0434\u0435\u043b\u0430\u043d \u043d\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0432\u044b\u044f\u0441\u043d\u044f\u043b\u0438, \u0435\u0441\u0442\u044c \u043b\u0438 \u0443 \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 \u201c\u0441\u043b\u0430\u0431\u044b\u0435 \u043c\u0435\u0441\u0442\u0430\u201d \u0438 \u0435\u0441\u043b\u0438 \u0434\u0430, \u0442\u043e \u043a\u0430\u043a \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0445 \u043d\u0438\u0432\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u043e\u043f\u0446\u0438\u044e \u0432\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/bezopasnye-push-uvedomleniya-ot-teorii-k-praktike\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 push-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f: \u043e\u0442 \u0442\u0435\u043e\u0440\u0438\u0438 \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u0447\u0435\u043c \u043c\u044b \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0437\u0430\u043d\u044f\u0442\u044b \u0443\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432: \u043e \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u043e\u0432. \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0443\u043f\u043e\u0440 \u0441\u0434\u0435\u043b\u0430\u043d \u043d\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0432\u044b\u044f\u0441\u043d\u044f\u043b\u0438, \u0435\u0441\u0442\u044c \u043b\u0438 \u0443 \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 \u201c\u0441\u043b\u0430\u0431\u044b\u0435 \u043c\u0435\u0441\u0442\u0430\u201d \u0438 \u0435\u0441\u043b\u0438 \u0434\u0430, \u0442\u043e \u043a\u0430\u043a \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0445 \u043d\u0438\u0432\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u043e\u043f\u0446\u0438\u044e \u0432\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/bezopasnye-push-uvedomleniya-ot-teorii-k-praktike\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:04:52+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:04:52+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Notifiche push sicure: dalla teoria alla pratica | ProHoster","description":"Ciao, Habr! Oggi parler\u00f2 di ci\u00f2 su cui io e i miei colleghi stiamo lavorando da diversi mesi: le notifiche push per i messenger mobili. Come ho gi\u00e0 detto, nella nostra applicazione, l'accento principale \u00e8 posto sulla sicurezza. Pertanto, abbiamo esaminato se ci sono 'punti deboli' nelle notifiche push e, in caso affermativo, come possiamo mitigarli per aggiungere questa utile opzione a","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/bezopasnye-push-uvedomleniya-ot-teorii-k-praktike","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 push-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f: \u043e\u0442 \u0442\u0435\u043e\u0440\u0438\u0438 \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u0447\u0435\u043c \u043c\u044b \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0437\u0430\u043d\u044f\u0442\u044b \u0443\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432: \u043e \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u043e\u0432. \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0443\u043f\u043e\u0440 \u0441\u0434\u0435\u043b\u0430\u043d \u043d\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0432\u044b\u044f\u0441\u043d\u044f\u043b\u0438, \u0435\u0441\u0442\u044c \u043b\u0438 \u0443 \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 \u201c\u0441\u043b\u0430\u0431\u044b\u0435 \u043c\u0435\u0441\u0442\u0430\u201d \u0438 \u0435\u0441\u043b\u0438 \u0434\u0430, \u0442\u043e \u043a\u0430\u043a \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0445 \u043d\u0438\u0432\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u043e\u043f\u0446\u0438\u044e \u0432","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/bezopasnye-push-uvedomleniya-ot-teorii-k-praktike","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:04:52+00:00","article:modified_time":"2019-10-31T19:04:52+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35532","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 23:40:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:00:25","updated":"2026-01-21 23:40:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/35532","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=35532"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/35532\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/26645"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=35532"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=35532"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=35532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}