{"id":558946,"date":"2026-09-17T13:42:49","date_gmt":"2026-09-17T11:42:49","guid":{"rendered":"https:\/\/baltasar.fr\/?p=558946"},"modified":"2026-09-17T13:42:49","modified_gmt":"2026-09-17T11:42:49","slug":"login-pagina-di-accesso-per-gli-utenti-registrati","status":"publish","type":"post","link":"https:\/\/baltasar.fr\/en\/2026\/09\/17\/login-pagina-di-accesso-per-gli-utenti-registrati\/","title":{"rendered":"Login Pagina di accesso per gli utenti registrati"},"content":{"rendered":"<p>La lunghezza del campo password \u00e8 motivata dal <a href=\"https:\/\/bieretheque.com\/it\/\">Crazy Tower Casino login<\/a> fatto che tale attributo non conterr\u00e0 la password cos\u00ec come l&#8217;utente la digita in fase di registrazione ma, come vedremo pi\u00f9 avanti, verr\u00e0 salvato l&#8217;hash di tale password. Anche se non necessario per lo scopo del tutorial, con poche regole CSS possiamo rendere i nostri moduli esteticamente pi\u00f9 gradevoli e accattivanti. La definizione di finanziamento prevista dalla Legge include &#8211; inter alia &#8211; l\u2019acquisto o la sottoscrizione degli strumenti finanziari emessi dalle societ\u00e0 coinvolte nelle attivit\u00e0 di cui sopra. Questa valutazione sar\u00e0 successivamente resapubblica e permetter\u00e0 sia di facilitare la scelta di eventi di qualit\u00e0 a tutti iprofessionisti sanitari, sia di premiare il merito dei provider che hanno fornito iservizi migliori.<\/p>\n<div style=\"text-align:center\"><iframe loading=\"lazy\" allowfullscreen=\"\" alt=\"pagina di login per utenti registrati\" frameborder=\"0\" height=\"319\" src=\"https:\/\/www.youtube.com\/embed\/QBRZB1YJKdc\" width=\"560\"><\/iframe><\/div>\n<div style=\"text-align:center\"><iframe loading=\"lazy\" allowfullscreen=\"\" alt=\"pagina di login per utenti registrati\" frameborder=\"0\" height=\"314\" src=\"https:\/\/www.youtube.com\/embed\/80KDMHhqH7s\" width=\"562\"><\/iframe><\/div>\n<h2>Connessione al database<\/h2>\n<p>Crediamo che, in questo modo, si possa favorire il progresso delsistema E.C.M. nella sua interezza. Una valutazione corretta, quindi, \u00e8fondamentale, e raccomandiamo tutti i professionisti di esprimere la propriaopinione, liberamente e con obiettivit\u00e0. Ricordiamoci che session_destroy() elimina tutti i dati memorizzati in una sessione collegati ad uno specifico PHPSESSID. Alla riga 20 abbiamo utilizzato la funzione\u00a0bindParam() di PDO, che consente di filtrare automaticamente i dati da passare alla query prima che venga processata da PDO.<\/p>\n<h2>Inserisci la vecchia password<\/h2>\n<p>Una delle 3 caratteristiche fondamentali di una funzione di hash sicura \u00e8 quella di saper generare hash dai quali risulta impossibile risalire all&#8217;originale, se non per tentativi (attacco a forza bruta). Se il controllo ha esito negativo le informazioni inviate dall&#8217;utente vengono salvate nel database. Abbiamo utilizzato l&#8217;attributo HTML5 required per obbligare l&#8217;utente a compilare i dati del modulo, in quanto sono necessari per il funzionamento dell&#8217;applicazione. Una volta che si \u00e8 registrato, dobbiamo consentire all&#8217;utente di accedere all&#8217;area riservata. Per generare l&#8217;hash, PHP mette a disposizione la funzione password_hash(), il cui secondo parametro indica l&#8217;algoritmo che si occuper\u00e0 della generazione. Possiamo includere lo script in ciascuna pagina PHP che necessita di connessione al database tramite l&#8217;istruzione require_once(), come spiegato pi\u00f9 avanti.<\/p>\n<h2>Accesso cliente<\/h2>\n<ul>\n<li>Il nome utente deve essere univoco, ossia non devono esserci due utenti con lo stesso username, dunque faremo una verifica in fase d&#8217;inserimento per evitare di memorizzare utenti doppioni.<\/li>\n<li>Anche se non necessario per lo scopo del tutorial, con poche regole CSS possiamo rendere i nostri moduli esteticamente pi\u00f9 gradevoli e accattivanti.<\/li>\n<li>Poich\u00e9 non bisogna mai memorizzare una password in chiaro, alla riga 13 eseguiamo un hashing della password cos\u00ec com&#8217;\u00e8.<\/li>\n<li>Inoltre \u00e8 possibile aggiungere alcuni controlli per rendere pi\u00f9 robusta l&#8217;applicazione come ad esempio la verifica della robustezza della password o l&#8217;inserimento di un captcha per evitare registrazioni automatiche da parte dei bot.<\/li>\n<li>Un hash non \u00e8 altro che una stringa di lunghezza fissa ottenuta mediante l&#8217;applicazione di una funzione di hash alla stringa di partenza.<\/li>\n<li>Ricordiamoci che session_destroy() elimina tutti i dati memorizzati in una sessione collegati ad uno specifico PHPSESSID.<\/li>\n<\/ul>\n<p>Adesso che abbiamo l&#8217;HTML necessario per mostrare i due moduli, passiamo alla fase di creazione della tabella nel database che dovr\u00e0 contenere gli utenti registrati. Tra le funzionalit\u00e0 di un&#8217;applicazione web non pu\u00f2 mancare l&#8217;accesso ad un&#8217;area protetta tramite login e password. L&#8217;implementazione di questo tipo di funzionalit\u00e0 porta con s\u00e8 implicazioni riguardanti soprattutto la sicurezza. Con il servizio myECM il professionista pu\u00f2 esprimere la propria opinione su ogni corso frequentato. Il giudizio viene registrato dall\u2019ufficio ECM , in forma rigorosamente anonima, e contribuisce a creare una valutazione dei singoli provider.<\/p>\n<h2>Aggiorna la tua password<\/h2>\n<p>In questo tutorial abbiamo imparato a creare un sistema base di registrazione e  accesso utente tramite PHP. Dopo aver compreso le basi di questo sistema, \u00e8 possibile creare una logica pi\u00f9 complessa che consente agli utenti di confermare la registrazione tramite verifica via email o di reimpostare la password. Poich\u00e9 non bisogna mai memorizzare una password in chiaro, alla riga 13 eseguiamo un hashing della password cos\u00ec com&#8217;\u00e8. Un hash non \u00e8 altro che una stringa di lunghezza fissa ottenuta mediante l&#8217;applicazione di una funzione di hash alla stringa di partenza.<\/p>\n<h2>Modulo di login<\/h2>\n<p>Per poter interagire con la base dati abbiamo bisogno di effettuare una connessione al database MySQL. Effettueremo questa operazione tramite la potente estensione PDO\u00a0messa a disposizione dal linguaggio. Il nome utente deve essere univoco, ossia non devono esserci due utenti con lo stesso username, dunque faremo una verifica in fase d&#8217;inserimento per evitare di memorizzare utenti doppioni. Per firmare digitalmente i moduli di registrazione \u00e8 necessario attivare il servizio di Firma Elettronica Qualificata (FEQ) di InfoCert.<\/p>\n<p>In questo tutorial vedremo come creare un form di registrazione e login usando PHP e MySQL e lo faremo adottando le migliori pratiche in tema di sicurezza web. Hai richiesto la deroga sul diritto di recesso, se non hai completato la procedura di firma digitale clicca sul pulsante procedi. Se hai gi\u00e0 completato la richiesta verrai avvisato dal nostro team quando la richiesta sar\u00e0 stata elaborata. Nelle righe 5 e 6 verifichiamo che le variabili contenute nell&#8217;array $_POST siano inizializzate tramite l&#8217;operatore di confronto\u00a0null coalesce, introdotto con PHP 7.<\/p>\n<h2>Creare form di registrazione e login sicuro in PHP e MySQL<\/h2>\n<div style=\"text-align:center\"><iframe loading=\"lazy\" allowfullscreen=\"\" alt=\"pagina di login per utenti registrati\" frameborder=\"0\" height=\"319\" src=\"https:\/\/www.youtube.com\/embed\/tHrZUTE1mwY\" width=\"565\"><\/iframe><\/div>\n<p>Tramite la keyword AUTO_INCREMENT diciamo a MySQL che il campo id deve incrementarsi\u00a0in maniera automatica dopo ogni inserimento. Navigando su questo sito, consenti l\u2019utilizzo dei tuoi dati come descritto nella nostra Privacy Policy.<\/p>\n<ul>\n<li>Se hai gi\u00e0 completato la richiesta verrai avvisato dal nostro team quando la richiesta sar\u00e0 stata elaborata.<\/li>\n<li>Navigando su questo sito, consenti l\u2019utilizzo dei tuoi dati come descritto nella nostra Privacy Policy.<\/li>\n<li>Hai richiesto la deroga sul diritto di recesso, se non hai completato la procedura di firma digitale clicca sul pulsante procedi.<\/li>\n<li>La lunghezza del campo password \u00e8 motivata dal fatto che tale attributo non conterr\u00e0 la password cos\u00ec come l&#8217;utente la digita in fase di registrazione ma, come vedremo pi\u00f9 avanti, verr\u00e0 salvato l&#8217;hash di tale password.<\/li>\n<li>Con il servizio myECM il professionista pu\u00f2 esprimere la propria opinione su ogni corso frequentato.<\/li>\n<\/ul>\n<p>InfoCert \u00e8 una delle principali Certification Authority (Ente Certificatore) a livello europeo per i servizi di Firma Digitale ed \u00e8 accreditato in Italia dall&#8217;AgID (Agenzia per l&#8217;Italia Digitale). Inoltre \u00e8 possibile aggiungere alcuni controlli per rendere pi\u00f9 robusta l&#8217;applicazione come ad esempio la verifica della robustezza della password o l&#8217;inserimento di un captcha per evitare registrazioni automatiche da parte dei bot. Lo script distrugge semplicemente la sessione tramite la funzione session_destroy() ed effettua un redirect alla pagina di login. Tramite la costante PASSWORD_BCRYPT\u00a0utilizziamo la funzione di hash bcrypt, che risulta molto resistente ad attacchi a forza bruta per via della sua &#8220;lentezza&#8221; nel trasformare una stringa nel suo hash corrispondente.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La lunghezza del campo password \u00e8 motivata dal Crazy Tower Casino login fatto che tale attributo non conterr\u00e0 la password cos\u00ec come l&#8217;utente la digita in fase di registrazione ma, come vedremo pi\u00f9 avanti, verr\u00e0 salvato l&#8217;hash di tale password. Anche se non necessario per lo scopo del tutorial, con poche regole CSS possiamo rendere..<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[272],"tags":[],"class_list":["post-558946","post","type-post","status-publish","format-standard","hentry","category-272"],"translation":{"provider":"WPGlobus","version":"3.0.0","language":"en","enabled_languages":["fr","en","es"],"languages":{"fr":{"title":true,"content":true,"excerpt":false},"en":{"title":false,"content":false,"excerpt":false},"es":{"title":false,"content":false,"excerpt":false}}},"_links":{"self":[{"href":"https:\/\/baltasar.fr\/en\/wp-json\/wp\/v2\/posts\/558946","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/baltasar.fr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/baltasar.fr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/baltasar.fr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/baltasar.fr\/en\/wp-json\/wp\/v2\/comments?post=558946"}],"version-history":[{"count":1,"href":"https:\/\/baltasar.fr\/en\/wp-json\/wp\/v2\/posts\/558946\/revisions"}],"predecessor-version":[{"id":558947,"href":"https:\/\/baltasar.fr\/en\/wp-json\/wp\/v2\/posts\/558946\/revisions\/558947"}],"wp:attachment":[{"href":"https:\/\/baltasar.fr\/en\/wp-json\/wp\/v2\/media?parent=558946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/baltasar.fr\/en\/wp-json\/wp\/v2\/categories?post=558946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/baltasar.fr\/en\/wp-json\/wp\/v2\/tags?post=558946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}