Come l’intelligenza artificiale sta rivoluzionando lo sviluppo web
Negli ultimi anni, l’arrivo di sistemi come ChatGPT ha accelerato la diffusione dell’intelligenza artificiale generativa nel lavoro quotidiano.
Professioni prettamente legate alla produzione di contenuti, come giornalisti o scrittori, sono state le prime a sentirne l’impatto, ma l’adozione si sta rapidamente estendendo anche ad altri settori, come la programmazione.
Uno degli aspetti più rilevanti è il vibe coding, ovvero lo sviluppo di codice assistito da IA con la possibilità, da parte dell’utente (anche non esperto) di ottenere funzioni, plugin o piccoli strumenti, descrivendo semplicemente ciò di cui ha bisogno, tramite un semplice prompt testuale.
Nel mondo WordPress, questo consente di produrre codice funzionante a partire da un’idea, anche se con limiti evidenti quando si passa a progetti più complessi, come temi o plugin.
Qualità del codice generato e responsabilità.
La qualità del codice generato dipende dalla precisione della richiesta e dall’esperienza di chi scrive il prompt.
Per compiti molto specifici si possono ottenere buoni risultati, ma senza una revisione tecnica accurata l’utilizzo può essere rischioso.
Questo riguarda non solo la funzionalità, ma anche la responsabilità del codice generato, se utilizzato all’interno di un progetto per un cliente finale.
Quest’anno, infatti, sono entrate in vigore due normative europee rilevanti:
- AI Act (Regolamento europeo sull’Intelligenza Artificiale)
Stabilisce requisiti di sicurezza, trasparenza e responsabilità per i sistemi di AI immessi sul mercato o utilizzati in servizi professionali. Questo significa, ad esempio, che se viene integrato nel sito un chatbot basato su AI che interagisce con i contenuti (come possono essere prodotti, servizi offerti o pagine informative), è necessario informare l’utente che sta comunicando con un sistema automatizzato e garantire che l’IA venga utilizzata in modo conforme e verificabile. - Nuova Direttiva sulla responsabilità da prodotto difettoso (Product Liability Directive). Questa normativa ha un impatto più diretto sugli sviluppatori, poiché viene estesa la responsabilità civile anche al software, compreso il software generato o modificato tramite sistemi di intelligenza artificiale. Questo significa che, se un prodotto digitale causa un danno (economico o materiale) a causa di un difetto, lo sviluppatore o il fornitore può essere ritenuto responsabile. Solamente il software open source sviluppato e distribuito senza fini di lucro è esente da questa normativa.
Questo significa che, se il software causa un danno a un cliente o a un utilizzatore finale, come può essere un tema o plugin WordPress nel nostro caso, lo sviluppatore può essere ritenuto responsabile, anche se parte del codice utilizzato è stato generato da modelli di intelligenza artificiale oppure librerie open source.
La provenienza del codice non elimina la responsabilità, chi consegna il lavoro rimane comunque responsabile.
Cosa verificare prima di utilizzare codice generato in WordPress
Anche se potrebbe non sembrarti necessario ed il codice funziona correttamente, è fondamentale adottare degli accorgimenti, al fine di ridurre al minimo la presenza di vulnerabilità che possono essere utilizzate da malintenzionati, vediamoli insieme:
Sanificazione dei dati
WordPress mette a disposizione diverse funzioni utili a questo scopo, ad esempio:
sanitize_text_field()per campi testuali semplicisanitize_textarea_field()per aree di testosanitize_email()per le email
Puoi trovare un elenco completo delle funzioni disponibili, in base al tipo di dato immesso, nella documentazione ufficiale di WordPress.org
Uso dei nonce e controlli di permessi
I nonce sono fondamentali per prevenire attacchi di tipo CSRF (Cross-Site Request Forgery).
Senza il loro utilizzo, un utente senza permessi di accesso, potrebbe effettuare operazioni non autorizzate, come l’aggiunta o la cancellazione di dati.
Puoi utilizzare:
- wp_nonce_field() per generare il nonce nei form
- wp_verify_nonce() per verificarlo in fase di salvataggio
- current_user_can() per verificare che l’utente abbia i permessi corretti
Ti consiglio di approfondire meglio il loro funzionamento, dando uno sguardo alla documentazione ufficiale.
Escape dei dati
Ogni dato che va visualizzato all’interno della pagina deve essere “ripulito”, a seconda del tipo di dato:
- esc_html() per testo semplice
- esc_attr() per attributi HTML
- esc_url() per URL
Per approfondire, ti suggerisco di verificare la documentazione di WordPress
Utilizzo delle funzioni native di WordPress
Devi sempre utilizzare le funzioni native di WordPress, questo garantisce compatibilità con aggiornamenti futuri, sicurezza ed manutenzione del codice più semplice.
Ad esempio, per aggiungere una pagina di personalizzazione di un tema WordPress, non creare una sezione apposita, visto che poi questo comporta il dover adottare tutte le raccomandazioni descritte in precedenza.
Piuttosto sfrutta la funzionalità di personalizzazione integrata in WordPress.
Fase di revisione e test del codice
Una volta completate le modifiche al tema o al plugin, è importante eseguire una revisione del codice per individuare errori, problemi di sicurezza o non conformità agli standard WordPress.
Esistono strumenti dedicati che permettono di analizzare automaticamente il sorgente e suggerire eventuali correzioni:
-
Theme Check
Verifica che il tema rispetti gli standard richiesti dalla directory ufficiale di WordPress. -
Plugin Check (PCP)
Controlla la conformità dei plugin agli standard di qualità e sicurezza. -
PHPCS + WordPress Coding Standards (WPCS)
Strumenti utilizzabili sia per temi che per plugin, utili per verificare stile, sintassi e aderenza alle best practice di WordPress.
Conclusione
Che piaccia o no, questi sistemi di intelligenza artificiale, sono destinati a rimanere con noi.
Pur trattandosi di strumenti estremamente potenti, che possono velocizzare in modo significativo il lavoro di sviluppo, senza un’analisi e una revisione attenta, l’utilizzo del codice generato può esporre a rischi tecnici e responsabilità legali.
Già seguendo alcune buone pratiche descritte nell’articolo, come la sanificazione dei dati, uso dei nonce, escape in output e utilizzo delle API core di WordPress, puoi ridurre al minimo questi rischi.
Ti suggerisco comunque di approfondire dalla documentazione ufficiale per gli sviluppatori WordPress.
Scopri WP Dev Toolkit
WP Dev Toolkit è una raccolta di asset professionali pensata per chi sviluppa o lavora con WordPress
Include 40+ temi WordPress (parent e child) e 3 plugin, creati e mantenuti dal 2013 a oggi, oltre l'ebook Sviluppare con WordPress.
Approfitta ora del prezzo promozionale di 9.99€, con accesso a vita...(per ora)
