{"id":3321,"date":"2024-08-06T11:59:55","date_gmt":"2024-08-06T14:59:55","guid":{"rendered":"https:\/\/horatech.shop\/?p=3321"},"modified":"2024-11-29T14:18:54","modified_gmt":"2024-11-29T17:18:54","slug":"como-fazer-um-sistema-de-login-seguro-em-php","status":"publish","type":"post","link":"https:\/\/horatech.shop\/it\/come-creare-un-sistema-di-login-sicuro-in-php\/","title":{"rendered":"Come creare un sistema di login sicuro in PHP"},"content":{"rendered":"<p>Garantire la sicurezza del sistema di login PHP \u00e8 fondamentale per proteggere i dati degli utenti e l'integrit\u00e0 del sito. <\/p>\n\n\n\n<p>In questa guida, vi mostreremo passo dopo passo come implementare un sistema di <strong>sistema di login<\/strong> robusta e sicura, dalla configurazione iniziale dell'ambiente di sviluppo alle migliori pratiche di sicurezza.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/Como-fazer-um-sistema-de-login-seguro-em-PHP.webp?resize=1024%2C768&#038;ssl=1\" alt=\"\" class=\"wp-image-3322\" srcset=\"https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/Como-fazer-um-sistema-de-login-seguro-em-PHP.webp?resize=1024%2C768&amp;ssl=1 1024w, https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/Como-fazer-um-sistema-de-login-seguro-em-PHP.webp?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/Como-fazer-um-sistema-de-login-seguro-em-PHP.webp?resize=768%2C576&amp;ssl=1 768w, https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/Como-fazer-um-sistema-de-login-seguro-em-PHP.webp?w=1200&amp;ssl=1 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em>Creare un sistema di login in php<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Perch\u00e9 \u00e8 importante un sistema di accesso sicuro?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>L'importanza della sicurezza<\/strong><\/h3>\n\n\n\n<p>Quando si tratta di creare un sistema di login in PHP, la sicurezza non \u00e8 un'opzione, ma una necessit\u00e0. Un sistema di login sicuro protegge le informazioni sensibili degli utenti e impedisce l'accesso ai dati riservati da parte di malintenzionati. Senza le giuste misure di sicurezza, la vostra applicazione pu\u00f2 diventare un facile bersaglio per gli hacker.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Principali minacce ai sistemi di login<\/strong><\/h3>\n\n\n\n<p>Esistono diverse minacce che possono compromettere un sistema di login:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Attacchi di forza bruta:<\/strong> ripetuti tentativi di indovinare le password.<\/li>\n\n\n\n<li><strong>Iniezione SQL:<\/strong> inserimento di codice dannoso attraverso i campi di input.<\/li>\n\n\n\n<li><strong>Furto di sessione:<\/strong> catturare i cookie di sessione per impersonare un altro utente.<\/li>\n\n\n\n<li><strong>Cross-Site Scripting (XSS):<\/strong> esecuzione di script dannosi nel browser dell'utente.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Vantaggi di un sistema sicuro<\/strong><\/h3>\n\n\n\n<p>L'implementazione di un sistema di login sicuro ha molti vantaggi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Protezione dei dati:<\/strong> garantisce la sicurezza delle informazioni personali e sensibili.<\/li>\n\n\n\n<li><strong>Fiducia dell'utente:<\/strong> Gli utenti si sentono pi\u00f9 sicuri quando utilizzano la vostra applicazione.<\/li>\n\n\n\n<li><strong>Conformit\u00e0 legale:<\/strong> aiuta a rispettare le norme sulla protezione dei dati.<\/li>\n\n\n\n<li><strong>Riduzione del rischio:<\/strong> ridurre al minimo le possibilit\u00e0 di successo degli attacchi e le loro conseguenze.<\/li>\n<\/ul>\n\n\n\n<p>Un sistema di login sicuro \u00e8 la prima linea di difesa contro le minacce informatiche. Non solo protegge i dati degli utenti, ma rafforza anche la reputazione della vostra applicazione.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configurazione dell'ambiente di sviluppo<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/configurando-o-ambiente.webp?resize=1024%2C768&#038;ssl=1\" alt=\"\" class=\"wp-image-3323\" srcset=\"https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/configurando-o-ambiente.webp?resize=1024%2C768&amp;ssl=1 1024w, https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/configurando-o-ambiente.webp?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/configurando-o-ambiente.webp?resize=768%2C576&amp;ssl=1 768w, https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/configurando-o-ambiente.webp?w=1200&amp;ssl=1 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em>Impostazione dell'ambiente<\/em><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Installazione di PHP e MySQL<\/strong><\/h3>\n\n\n\n<p>Per cominciare, \u00e8 essenziale che PHP e MySQL siano installati sul vostro sistema. \u00c8 possibile scaricare PHP direttamente dal sito ufficiale e MySQL dal sito ufficiale di MySQL. Assicuratevi di scaricare la versione corretta per il vostro sistema operativo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Configurazione del server<\/strong><\/h3>\n\n\n\n<p>Dopo aver installato PHP e MySQL, \u00e8 necessario configurare un server locale. Il modo pi\u00f9 semplice per farlo \u00e8 utilizzare pacchetti come XAMPP o WAMP, che vengono forniti con Apache, PHP e MySQL pronti all'uso. \u00c8 sufficiente scaricare, installare e avviare il server.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Controllo delle versioni e delle dipendenze<\/strong><\/h3>\n\n\n\n<p>Prima di iniziare la codifica, \u00e8 importante verificare che tutte le versioni e le dipendenze siano corrette. Per farlo, si possono eseguire i seguenti comandi nel terminale:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>php -v\nmysql --versione<\/code><\/pre>\n\n\n\n<p>Questo assicura che si stiano utilizzando le versioni pi\u00f9 recenti e compatibili di PHP e MySQL. Inoltre, verificare che siano installate le estensioni PHP necessarie, come ad esempio <code>mysqli<\/code> e <code>pdo_mysql<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Creazione del database<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Struttura di base del database<\/strong><\/h3>\n\n\n\n<p>Per prima cosa, dobbiamo creare la struttura del database che memorizzer\u00e0 le informazioni sugli utenti. Creiamo una tabella chiamata <code>utenti<\/code> con i seguenti campi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREARE TABELLA utenti (\n  ID INT UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,\n  login VARCHAR(30) NOT NULL,\n  password VARCHAR(40) NOT NULL,\n  CHIAVE PRIMARIA (ID)\n) ENGINE=MyISAM;<\/code><\/pre>\n\n\n\n<p>Questa tabella ha tre colonne: <code>ID<\/code>che \u00e8 la chiave primaria e verr\u00e0 incrementata automaticamente; <code>accesso<\/code>che memorizzer\u00e0 il nome utente; e <code>password<\/code>che memorizzer\u00e0 la password dell'utente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Creare le tabelle necessarie<\/strong><\/h3>\n\n\n\n<p>Oltre alla tabella <code>utenti<\/code>Inoltre, \u00e8 possibile creare altre tabelle per funzionalit\u00e0 aggiuntive, come i tentativi di accesso. Ad esempio, una tabella per la memorizzazione dei tentativi di accesso potrebbe essere creata in questo modo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREARE TABLE login_attempts (\n  attempt_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,\n  user_id INT NON NULL,\n  tempo_tentativo TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n) ENGINE=InnoDB;<\/code><\/pre>\n\n\n\n<p>Questa tabella aiuta a monitorare e limitare i tentativi di accesso, prevenendo gli attacchi di forza bruta.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Impostazione delle autorizzazioni per gli utenti<\/strong><\/h3>\n\n\n\n<p>Per aumentare la sicurezza, \u00e8 importante definire autorizzazioni specifiche per gli utenti del database. Creare un utente con privilegi limitati:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREARE UTENTE 'sec_user'@'localhost' IDENTIFICATO DA 'passwordSegura123';\nGRANT SELECT, INSERT, UPDATE SU `your_database`.* A `sec_user'@'localhost';<\/code><\/pre>\n\n\n\n<p><strong>Suggerimento:<\/strong> Utilizzare una password forte e unica per l'utente del database. Questo aiuta a proteggere le informazioni da accessi non autorizzati. Con queste autorizzazioni, anche se qualcuno riesce ad accedere al database, non sar\u00e0 in grado di cancellare o modificare i dati critici.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Implementazione del modulo di accesso<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Struttura HTML del modulo<\/strong><\/h3>\n\n\n\n<p>Creiamo la struttura di base del modulo HTML di login. Questo modulo raccoglier\u00e0 il nome utente e la password dell'utente. Ecco un semplice esempio:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n    &lt;title&gt;Accesso utente&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;form method=&quot;POST&quot; action=&quot;\/it\/login.php\/&quot; data-trp-original-action=&quot;login.php&quot;&gt;\n        &lt;label for=&quot;login&quot;&gt;Accesso:&lt;\/label&gt;\n        &lt;input type=&quot;text&quot; name=&quot;login&quot; id=&quot;login&quot; required&gt;&lt;br&gt;\n        &lt;label for=&quot;senha&quot;&gt;Password:&lt;\/label&gt;\n        &lt;input type=&quot;password&quot; name=&quot;senha&quot; id=&quot;senha&quot; required&gt;&lt;br&gt;\n        &lt;input type=&quot;submit&quot; value=&quot;Entrare&quot;&gt;\n    &lt;input type=&quot;hidden&quot; name=&quot;trp-form-language&quot; value=&quot;it&quot;\/&gt;&lt;\/form&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Aggiunta di JavaScript per l'hashing delle password<\/strong><\/h3>\n\n\n\n<p>Per aumentare la sicurezza, \u00e8 buona norma eseguire l'hash della password sul lato client prima di inviarla al server. Questo pu\u00f2 essere fatto con JavaScript. Utilizziamo la libreria SHA-512 per questo scopo. Per prima cosa, aggiungere lo script della libreria al proprio HTML:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script type=\"text\/javascript\" src=\"sha512.js\"&gt;&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>Quindi creare una funzione JavaScript per eseguire l'hash della password:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script type=\"text\/javascript\"&gt;\nfunction hashSenha(form, password) {\n    var p = document.createElement(\"input\");\n    form.appendChild(p);\n    p.name = \"hashed_senha\";\n    p.type = \"hidden\";\n    p.value = sha512(password.value);\n    password.value = \"\";\n    form.submit();\n}\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>E modificare il modulo per utilizzare questa funzione:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;form method=&quot;POST&quot; action=&quot;\/it\/login.php\/&quot; onsubmit=&quot;hashSenha(this, this.senha);&quot; data-trp-original-action=&quot;login.php&quot;&gt;\n    &lt;label for=&quot;login&quot;&gt;Accesso:&lt;\/label&gt;\n    &lt;input type=&quot;text&quot; name=&quot;login&quot; id=&quot;login&quot; required&gt;&lt;br&gt;\n    &lt;label for=&quot;senha&quot;&gt;Password:&lt;\/label&gt;\n    &lt;input type=&quot;password&quot; name=&quot;senha&quot; id=&quot;senha&quot; required&gt;&lt;br&gt;\n    &lt;input type=&quot;submit&quot; value=&quot;Entrare&quot;&gt;\n&lt;input type=&quot;hidden&quot; name=&quot;trp-form-language&quot; value=&quot;it&quot;\/&gt;&lt;\/form&gt;<\/code><\/pre>\n\n\n\n<p><strong>Migliori pratiche di progettazione dei moduli<\/strong><\/p>\n\n\n\n<p>Un buon design del modulo non \u00e8 solo esteticamente gradevole, ma migliora anche l'usabilit\u00e0 e la sicurezza. Ecco alcuni suggerimenti:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Utilizzate etichette chiare e concise:<\/strong> Assicuratevi che i campi del modulo siano chiaramente etichettati.<\/li>\n\n\n\n<li><strong>Convalida dell'ingresso:<\/strong> Convalidare i dati dell'utente sia sul lato client che su quello server.<\/li>\n\n\n\n<li><strong>Feedback immediato:<\/strong> Informare immediatamente gli utenti in caso di errore nella compilazione del modulo.<\/li>\n\n\n\n<li><strong>Accessibilit\u00e0:<\/strong> Assicuratevi che il modulo sia accessibile a tutti gli utenti, compresi quelli che utilizzano lettori di schermo.<\/li>\n<\/ul>\n\n\n\n<p><strong>Suggerimento:<\/strong> Utilizzare sempre HTTPS per garantire la sicurezza dei dati trasmessi tra il client e il server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Elaborazione sicura del login<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/adicionando-funcionalidades.webp?resize=1024%2C768&#038;ssl=1\" alt=\"\" class=\"wp-image-3325\" srcset=\"https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/adicionando-funcionalidades.webp?resize=1024%2C768&amp;ssl=1 1024w, https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/adicionando-funcionalidades.webp?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/adicionando-funcionalidades.webp?resize=768%2C576&amp;ssl=1 768w, https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/adicionando-funcionalidades.webp?w=1200&amp;ssl=1 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em>aggiunta di funzionalit\u00e0<\/em><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Sanificazione delle voci degli utenti<\/strong><\/h3>\n\n\n\n<p>Prima di ogni altra cosa, \u00e8 essenziale sanificare gli inserimenti degli utenti. Ci\u00f2 significa pulire e convalidare i dati che l'utente inserisce nel modulo di login. Utilizzare funzioni come <code>htmlspecialchars()<\/code> e <code>mysqli_real_escape_string()<\/code> per prevenire le iniezioni SQL e XSS.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Verifica delle credenziali nel database<\/strong><\/h3>\n\n\n\n<p>Dopo aver sanificato i dati, il passo successivo consiste nel verificare le credenziali nel database. Utilizzare le dichiarazioni preparate con <code>mysqli<\/code> per evitare le iniezioni SQL. Ecco un esempio di base:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if ($stmt = $mysqli-&gt;prepare(\"SELECT id, username, password, salt FROM members WHERE email = ? LIMIT 1\")) {\n    $stmt-&gt;bind_param('s', $email);\n    $stmt-&gt;execute();\n    $stmt-&gt;store_result();\n    $stmt-&gt;bind_result($user_id, $username, $db_password, $salt);\n    $stmt-&gt;fetch();\n    $password = hash('sha512', $password.$salt);\n    if($stmt-&gt;num_rows == 1) {\n        if($db_password == $password) {\n            \/\/ Login riuscito\n        } else {\n            \/\/ Password errata\n        }\n    } else {\n        \/\/ Utente non trovato\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Gestione sicura delle sessioni<\/strong><\/h3>\n\n\n\n<p>La gestione sicura delle sessioni \u00e8 fondamentale per proteggere l'account dell'utente. Rigenerare sempre l'ID di sessione dopo l'accesso con <code>session_regenerate_id()<\/code>. Inoltre, memorizza informazioni importanti come l'indirizzo IP e l'agente utente per verificare l'autenticit\u00e0 della sessione.<\/p>\n\n\n\n<p><strong>Ricorda:<\/strong> Non memorizzate mai le password in chiaro. Utilizzate sempre l'hashing e preferibilmente un sale<\/p>\n\n\n\n<p>per rafforzare la sicurezza.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ulteriori pratiche per rafforzare la sicurezza<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/validando-o-sistema.webp?resize=1024%2C768&#038;ssl=1\" alt=\"\" class=\"wp-image-3324\" srcset=\"https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/validando-o-sistema.webp?resize=1024%2C768&amp;ssl=1 1024w, https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/validando-o-sistema.webp?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/validando-o-sistema.webp?resize=768%2C576&amp;ssl=1 768w, https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/validando-o-sistema.webp?w=1200&amp;ssl=1 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em>validazione del sistema<\/em><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Blocco dell'account dopo diversi tentativi<\/strong><\/h3>\n\n\n\n<p>Implementare un sistema di blocco temporaneo dopo diversi tentativi di accesso falliti. Questo pu\u00f2 essere fatto contando i tentativi di accesso per un certo periodo di tempo e, quando si supera un limite, bloccando temporaneamente l'account.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Utilizzo di HTTPS e SSL<\/strong><\/h3>\n\n\n\n<p>Utilizzare sempre HTTPS e SSL per proteggere le comunicazioni tra il client e il server. Questo aiuta a prevenire attacchi come il man-in-the-middle, in cui i dati trasmessi possono essere intercettati.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Autenticazione a pi\u00f9 fattori<\/strong><\/h3>\n\n\n\n<p>Per un ulteriore livello di sicurezza, considerate l'implementazione dell'autenticazione a pi\u00f9 fattori (MFA). Questo pu\u00f2 includere qualcosa che l'utente conosce (password), qualcosa che possiede (token SMS) o qualcosa che \u00e8 (impronta digitale).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusione<\/strong><\/h2>\n\n\n\n<p>Seguendo questi passaggi, sarete sulla buona strada per creare un sistema di login PHP sicuro e robusto. <\/p>\n\n\n\n<p>La sicurezza deve essere sempre una priorit\u00e0, in quanto protegge non solo i dati degli utenti, ma anche la reputazione e l'integrit\u00e0 della vostra applicazione.<\/p>","protected":false},"excerpt":{"rendered":"<p>Garantir a seguran\u00e7a do sistema de login em PHP \u00e9 fundamental para proteger os dados dos usu\u00e1rios e a integridade do seu site. Neste guia, vamos te mostrar passo a passo como implementar um sistema de login robusto e seguro, desde a configura\u00e7\u00e3o inicial do ambiente de desenvolvimento at\u00e9 as melhores pr\u00e1ticas de seguran\u00e7a. Por [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":3322,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3321","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacao"],"blocksy_meta":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/horatech.shop\/wp-content\/uploads\/2024\/09\/Como-fazer-um-sistema-de-login-seguro-em-PHP.webp?fit=1200%2C900&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/horatech.shop\/it\/wp-json\/wp\/v2\/posts\/3321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/horatech.shop\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/horatech.shop\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/horatech.shop\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/horatech.shop\/it\/wp-json\/wp\/v2\/comments?post=3321"}],"version-history":[{"count":3,"href":"https:\/\/horatech.shop\/it\/wp-json\/wp\/v2\/posts\/3321\/revisions"}],"predecessor-version":[{"id":3798,"href":"https:\/\/horatech.shop\/it\/wp-json\/wp\/v2\/posts\/3321\/revisions\/3798"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/horatech.shop\/it\/wp-json\/wp\/v2\/media\/3322"}],"wp:attachment":[{"href":"https:\/\/horatech.shop\/it\/wp-json\/wp\/v2\/media?parent=3321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/horatech.shop\/it\/wp-json\/wp\/v2\/categories?post=3321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/horatech.shop\/it\/wp-json\/wp\/v2\/tags?post=3321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}