 Oggi iniziamo la mattinata di interventi con Enrico Sorcinelli, Enrico un grande entusiasta dell'Open Source esperto di WordPress, software engineer in una grande internet company italiana e italiana. Oggi ci presenta, in un molto intenso di 30 minuti, 10 cose che dovremo sapere se lavoriamo con WordPress o che se sappiamo già ci fa bene ripassare. Quindi do la parola ad Enrico e buon work out. Allora buongiorno a tutti, sono honorato della presentazione della nostra hero press Alice, un membro attivissimo della community polyglots italiana e mondiale. Dunque, come ha detto, vi parlano di 10 piccole cose che sicuramente sapete, ma anche per me ricordare non fa mai male. Partiamo subito. Guida intergalattica alla scelta del plugin che può fare al caso vostro. Uno dei punti di forza di WordPress è sicuramente l'incredibile, diciamo, flessibilità e la possibilità di estenderlo con tantissime estensioni che possono trasformare WordPress in sistemi più complessi, un sito di e-commerce, un social network, una IRP, etc. Tuttavia, ci sono tantissimi plugin e temi, considerando quelli free, premium, free, premium, etc. abbiamo quasi 90.000 estensioni, quindi diciamo è anche difficile a volte orientarsi sulla scelta del migliore. In più, una così tanta abbondanza di estensioni potrebbe anche farci venire l'appetito via via che si mangia e quindi potremmo anche installare anche più di quello che ci serve. Veniamo, adesso vi dirò, a 5 piccoli punti che vi possono aiutare alla scelta. Il primo è sicuramente di analizzare quello che realmente vi serve. Quindi chiudete il computer, prendete carte penna, scrivete su un foglio quello che realmente vi serve e così non vi distrarete quando vedete un plugin che magari ha quello che vi serve ma anche tante cose, magari per pigrizza installate quel plugin che però vi portate dentro tanto codice che magari non userte mai. E magari se vi serve solo una piccola cosa, non siate pigri, magari questo vi può anche invogliare a sviluppare la voi se è veramente una piccolissima cosa. Prendete il plugin, guardate il codice come fatto e questo vi dà anche modo anche di entrare maggiormente nella conoscenza del core di WordPress. Seconda cosa sicuramente lo conoscerete nella pagina del plugin, un'occhiata agli analytics. Quindi potrete vedere la popolarità del plugin, quanta installazione attiva è ha, la reputazione, commenti, votazioni etc. L'update, quindi la data dell'ultima update e soprattutto anche la compatibilità del plugin con la vostra versione di WordPress. In più ogni pagina del plugin anche diciamo il forum di supporto dove voi potrete vedere anche quanto è responsivo, quant'è diciamo abbastanza veloce la risposta dell'autore stesso ai bug, quanti bug aperti ci sono e anche vedere se c'è un'opportuna documentazione del plugin. Secondo punto è la sicurezza ovviamente, questo è scontato. Diciamo una statistica dice che quasi il 20% degli attacchi WordPress e delle vulnerabilità sono dovute a plugin che noi magari abbiamo installato senza aver prima verificato, quanto meno un ambiente di test questo plugin prima di utilizzarlo nel nostro sistema di produzione. Aspetta i tecnici, sicuramente una volta che abbiamo provato il plugin ci sono altri strumenti come il cuorimontio, il P3 che ci danno delle metri che per cui ci possono dire il plugin che abbiamo scelto se fa troppe quelli in più, se come diciamo utilizza le risorse del nostro sistema. Un'occhiata anche al codice per chi è in grado di o a voglia e tempo di darlo anche al codice e soprattutto è importante secondo me vedere se il plugin che abbiamo scelto ha associato una repository sul quale diciamo WordPress è una serie di sviluppatori quindi vedere se questo plugin è su GitHub, quanti sviluppatori ci sono dietro, la loro reputazione, se hanno fatto altri plugin, quanti fork ci sono stati, questo ci dà un'idea anche della community che gira intorno e anche ci dà una stima di quanto questo plugin in futuro verrà supportato perché noi ci prendiamo un plugin, lo usiamo come diciamo elemento fondamentale del nostro sito e vorremmo attendere un... In più ovviamente i plugins si dividono in 3 tipologie, free, premium e premium, ognuna con i suoi pro e contro adesso qui ho lasciato una tabella di più o meno di comparazione con alcuni aspetti, veramente il free non costa nulla, ci sono plugin free molto molto buoni probabilmente potrebbero non avere tutto quello che ci serve e potrebbe non essersi il supporto che ci ho from plugin del pagamento i premium sono quelli che non richiedono un investimento quindi li possiamo provare e se vogliamo acquistiamola per la versione a pagamento per le funzionalità, i premium non sono per chi non vuole investire, non sono forse più adatti, sicuramente in generale danno più supporto e hanno la possibilità di essere customizzate perché noi paghiamo direttamente per la customizzazione andiamo al secondo punto, questo è molto veloce, questo è un servizio che ci consente di esporre il nostro server locale su internet a volte ci serve nello sviluppo dover far vedere il nostro sito locale su nostro computer in internet al cliente o comunque esporlo perché nello sviluppo abbiamo bisogno di avere con API di servizi esterni abbiamo bisogno che sia raggiungibile tramite delle callback, bene con questo semplice sistema che non richiede installazioni, registrazione ecc. con il classico tunnel di port forwarding dell'SSH riusciamo a esporre il nostro sito per un limitato periodo di tempo a internet questo servizio ci assegna un sottodomino che è accessibile poi a tutti e fa in modo di rendere visibile il nostro wordpress locale su internet andiamo al terzo punto, sembra scontato dirlo però wordpress non ha un sistema di autenticazione a due fattori cioè ci lo chiamo a wordpress in la parte di administrazione solamente con la password la sola password ovviamente è una protezione abbastanza limitata quindi quello che in genere si fa per aumentare la sicurezza aggiungere un secondo fattore di protezione in genere può essere un qualcosa che noi abbiamo quindi un codice temporale che inseriamo o a volte anche l'impronta digitale il riconoscimento della retina ecc. Nel caso di wordpress ci sono dei plugin che molto velocemente generano un QR non lo fotografiamo col cellulare tramite un'applicazione, ce ne sono tanti, in genere uso Google Authenticator ci dà questo codice temporaneo e quando noi ci lo chiamo a wordpress oltre alla username del password wordpress ci chiederà questo codice temporaneo che dobbiamo inserire per loggarci, i plugin che io in genere uso il primo però ce ne sono diversi questi sono forse quelli più utilizzati consentono appunto ad inserire questo secondo fattore di autenticazione alcuni hanno altre funzionalità, mandano il codice anche via mail, rendono obbligatori a diciamo la two factor adutenti dopo un periodo di tempo di diciamo di dopo 15 giorni e comunque vi consiglio vivamente di se non lo avete di aggiungere la two factor nel vostro sito wordpress tramite uno di questi plugin questo qui è un punto essenzialmente per sviluppatori, Query Monitor non c'è bisogno di dirlo è di fatto uno degli elementi standard per lo sviluppo di plugin, ci fa dimenticare le vie brutte e cattive con cui noi magari debaghiamo di nostra applicazione quindi stampa video di variabili, lo stampa sull'eurolog con Query Monitor abbiamo la possibilità di avere direttamente sul nostro browser un pannellino, un po' come la console del nostro browser che ci dà direttamente tutta una serie di informazioni molto molto importanti come le query al database che fanno tutti i plugin raggruppabili per componente, raggruppabili per plugin, ci dà tutta la stampa degli eurologa e ce l'abbiamo direttamente nel nostro browser ci dà anche altre informazioni quanti è chiamata HTTP il nostro software fa verso l'esterno alcune informazioni anche delle chiamate AJAX che vengono fatte dal plugin etc non sto certo parlare di Query Monitor perché ha avuto l'opportunità di andare al workcamp catania un altro membro dell'Occumunti ha fatto un ottimo talk su Query Monitor che vi invito poi a andare a vedere è molto divertente tra l'altro, Daniele scascia fratti bene, se siete qui sapete di cosa vi parlo, sicuramente i work camps sono il metodo più diretto per entrare in contatto con la community e la conferenza è il momento clue, non di meno però il contributore dei, adesso io non so quanti di voi ci sono stati ieri che ho visto anche ieri, è un'incredibile momento di entrare in contatto con altri utenti è un momento molto più informale, ci si siede a dei tavoli di lavoro, si vengono fatte dei mini progetti o dei mini lavori, abbiamo l'opportunità di scambiare idee, di incontrare esperti WordPress addirittura anche di entrare in contatto, anche con Keywork lavora attivamente nella community qui tra noi c'è, non so se lo vedo, anche dei Core Committer, cioè quell'elite di quelle 30, 40 persone che hanno direttamente accesso e approvano le pez al code, quindi è una grandissima opportunità di entrare in contatto con la community e c'è la mappa di WarCamp sul sito WarCamp Central, se non riuscite a andare a un WarCamp perché magari dovete trasferire, ripare, passare una notte fuori eccetera, ci sono limitato che sono dei piccoli gruppi localizzati in tutto Italia, in tutto il mondo ma anche in Italia dove che organizzano dei piccoli eventi in genere in ogni mese, mensilmente e questi eventi hanno diversi formati, possono essere di talk oppure di workshop cercate quello più vicino a voi e vi consiglio di andarci, se non ne trovate pensate all'opportunità di crearne uno nella vostra città, magari se siete in due meglio perché comunque è bene sempre avere essere in due per organizzare queste itapi c'è il supporto, tutti sappiamo che ci sono i forum, c'è documentazione ogni plugin e ogni tema ha un suo supporto quindi riusciamo ad entrare anche con questi forum e poi infine c'è Slack che è il canale ufficiale di WordPress chat per comunicare con tutti gli utenti anche la comunità italiana ha il suo canale e qui in questo indirizzo avete tutte le istruzioni per poter entrare sul Slack non vi parlo di Gutenberg ma vi parlerò di una piccola cosa che su cui voglio rivolgere l'attenzione la ricerca di WordPress è una ricerca standard che ricerca qualsiasi cosa sia stato salvato nel post content utilizzando una sequela live quindi una ricerca veramente base questo vuol dire che qualsiasi può cercare nel vostro post content la presenza di short code e anche di commenti che sono e blocchi quindi banalmente voglio cercare sul vostro sito tutti i post che hanno una gallery con questa query string o tutti i post che contengono una gallery non che sia un problema di sicurezza ma in questo modo comunque io posso in maniera abbastanza semplice vedere quali blocchi state usando quali informazioni nei JSON dei blocchi avete messo in generale non ci sono informazioni sensibili però io non conosco tutti i blocchi potrebbero anche esserci in questo caso la prima domanda è ci serve veramente la ricerca nel nostro sito avvo visto che è una ricerca abbastanza diciamo base se la risposta è no la disattiviamo oppure se vogliamo impedire di ricercare particolare string ripuliamo prima che la ricerca venga fatta al database la query string quello che in realtà possiamo veramente fare è usare plugin che migliora la ricerca quindi indicizzano i nostri contenuti in maniera che vengono effettivamente trovati e non solamente quindi indicisano per token per parole chiave ecc. tutti i nostri contenuti oppure pensare a utilizzare anche dei database no sequel come elastic che fa questo dimestiere e a proposito oggi c'è un workshop che ci parlare proprio di questo se ne parlato tanto della REST API che comunque è un componente che ormai è diventato core e nella WordPress e dell'xml rpc che era la precedente versione con cui in maniera molto potente poteramo remotamente controllare o interagire con WordPress bene, nella installazione di WordPress standard la REST API e l'xml rpc sono abilitate per default in particolare le API REST anche per utenti che non sono alloggati questo vuol dire che potenzialmente noi in qualsiasi installazione WordPress che non abbia preso le dovute precozioni possiamo chiedere tutta una serie di informazioni gratis quindi avere la lista di tutti i post così come farebbe un crawler ma senza farle diciamo il parsing dell'xml in formato JSON possiamo avere la lista degli utenti con gli D e il nome, non certo le password o il username ecc. Possiamo prendere informazioni che magari noi crediamo non siano esposte tipo darmi la lista di tutte le pagine che non abbiamo ancora linkato o esposto pubblicamente o avere la lista di tutti i media che abbiamo messo dentro ma che non abbiamo mai usato in qualche post banalmente questo è il sito della fondazione di Obama con questa query prendo ho preso tutti gli utenti di WordPress di Obama ovviamente non ci sono informazioni conservati però ho il nome, cognome, ho il dominio probabilmente ho preso anche la mail cosa possiamo fare? se non ci serve interfaccia e interfaccia xml rpc interfaccia legacy la disabilitiamo quello che in realtà andrebbe fatto è per quanto riguarda l'interfaccia REST è far passare solamente le richieste REST agli utenti non loggati che vogliamo far passare quindi con questo filtro qui possiamo ad esempio bloccare per utenti non loggati tutte le richieste del listing degli utenti ad esempio oppure cambiare l'endpoint per cui se diciamo l'endpoint in genere vpjson io lo cambio con una stringa che non è vpjson e ovviamente questo rende un po' più difficile individuare l'endpoint per le pi oppure analogamente possiamo cambiare anche le pi xml rpc l'endpoint questo si fa non tramite un filtro lo facciamo tramite una banale revert rule del nostro hths per i pigri io ho pubblicito il mio plugin mi serviva a fare una cosa del genere che fa tutto quello che vi ho detto in maniera più magari un po' più visuale e mi consente però che mi serviva di selezionare esattamente tutti gli endpoints che io volevo esporre proteggendo invece gli altri non ultimo poiché la REST PI non ha un meccanismo di autenticazione proprio in un contributo ordei della recente war camp usa in un tavolo di lavoro è nato un progetto molto importante che ritengo che si prefige lo scopo di creare un meccanismo standard per aiutare l'autenticazione REST poiché di fatto warfare non ha l'autenticazione non offre meccanismi di autenticazione REST un'altra piccola cosa in genere warpress espone nella propria nella propria pagina la propria informazione ci mette dei metacontent ci mette delle versioni eccetera non che sia la protezione in assoluto però a me non piace che guardando la pagina warpress uno sape direttamente qual è il mio la mia versione di warpress con questi filtri possiamo rimuovere diciamo questa informazione in più in ogni sito warpress io posso fare una scansione più o meno automatica per vedere quali plugin avete installato perché plugin stanno in genere su una cartella vp content liberamente accessibile e poiché quando installiamo il plugin dall'installer di warpress ci copia tutto il file ci mette anche i ritmi quindi di ogni plugin che avete posso anche vedere che versione avete installata questo non vuol dire che si attiva e con questo potete sempre nella cate access impedire almeno di visualizzare questi ritmi non vi parlerò ovviamente della versione chirque poiché appunto non c'è tempo è una versione che ha introduce tantissime nuove cose tantissimi miglioramenti in tantissime cose però vorrei raccontare di una cosa è successa me magari che non è stata opportunamente una delle diciamo dei side effect diciamo della nella ultima versione la variabile j query era non è più esposta come dollaro ok dollaro sappiamo tutti che è una pratica accedere a j query con l alias dollar è una pratica non ampiamente diciamo scorraggiata sia da warpress che in generale però c'era da 4 5 6 anni c'era perché un componente esterno media element che diciamo il peor video usato da da da warpress introducivoi sponiereva anche diciamo a livello globale j query sotto forma di dollaro la pratica corretta usare una closure e comunque se vogliamo continuare a rosare dollaro perché magari scriviamo meno meno lettere questo è uno dei modi per ancora accedere alla variabile dollaro all'interno di uno scope ben preciso e però non tutti magari develop per gli sviluppatori mi è compreso avevano fatto caso abbiamo visto dollaro nell'ambiente dell'amministrazione si sapevamo che una pratica non diciamo sconsigliata però questo c'era e qualche plughino qualche sviluppatore comunque avendolo visto lo potevano usare questa cosa non è stata opportunamente diciamo pubblicizzata e annunciata prima e è stata vista subito dopo ok quindi nel caso personale avevamo del codice sua dirittura sulla pettiforma VIP che si è rotto perché aveva codice lega sevemente aveva del codice che accedeva alla vecchia dollaro ed è successo anche in altri adesso non visto dirli in altre situazioni quindi vi stessano fatto revert e hanno reso ancora disponibile perché comunque fanno girare codice quindi sicuramente se avete codice controllate di non usare più nel vostro codice ne vostri plug-in la aveva direttamente dollaro perché sul nuovo questo vi darà errore siamo arrivati all'ultimo al ultimo punto questo Bezi lo fatto io e non mi è venuto benissimo però volevo parlarvi della di five for the future e non so se lo conoscete è un'iniziativa che è stata lanciata tempo fa ormai di 2014 è stata un po era lì era un post di mat ultimamente è stato rilanciato questi link li trovate anche nel sito org in pratica l'idea è di che ogni organizzazione che contribuisca e voglia contribuire a orpes debba dedicare il 5 per cento delle loro risorse allo sviluppo di orpes sviluppo di plug-in community documentazione polido insomma diciamo le i team sono veramente tanti ovviamente è una richiesta abbastanza impegnativa però più che è un requisito è un obiettivo ovviamente e quindi le organizzazioni che diciteranno di promettere o impegnarsi a supportare orpes col 5 per cento della delle delle risorse in realtà fa una promessa basata su un codice d'onore perché di fatto non c'è nessuna organizzazione nessuna persona che andrà a controllare effettivamente al momento entra se l'organizzazione effettivamente impegna quelle persone se quelle persone hanno in una settimana dedicato quel tot di ore che hanno detto che faranno per orpes è un programma comunque rilanciato ma in stato veramente in sale però io la ritengo una bellissima idea e vi consiglio comunque di partecipare comunque di di di propagare questa informazione anche i vostri responsabili all'interno della vostra azienda come si fa molto semplice è andate sul sito ha bisogna avere una login orpes org andate sul vostro profilo c'è un tab contributor e lì potete personalmente indicare quante ore decidere di dedicare settimanalmente a orpes e a quali team avete intenzione di contribuire cor plug-in polyglots e quant'altro a quel punto quando e se la vostra organizzazione azienda vorrà impegnarsi non dovete fare altro che comunicare il vostro nickname user name orpes all'azienda la quale tramite un opportuna form che sempre accessibile dalla link far for the future oltre a indicare la propria descrizione il proprio logo eccetera dovrà mettere anche gli user name delle proprie persone che hanno che si sono impegnate a sviluppare su orpes a questo punto sono felice che la mia azienda ha ha deciso di adderire a questa iniziativa e quindi vi invito anche voi a riflettere a pensarci io avrei finito le slide sono disponibili penso sul sito ma le metterò anche sul mio camp di tab e a questo punto se avete domande sono a disposizione grazie Enrico e ci sono domande nel pubblico abbiamo circa quattro o cinque minuti curiosità opinioni e te la butto lì perché in realtà lo uso già il pagina che hai sviluppato per bloccare resta pie eccetera è disponibile sul depositori installabile utilizzabile raccomandiamo insomma anche la cosa e si puoi un pochino approfondire il discorso per esempio dell'email del gravatar la questione dell'email dal da gravata che questa è una questione anche di sicurezza effettivamente magari è bene sapere me l'hai ricordato perché ne abbiamo parlato anche ieri tra l'altro sì e dal adesso non so se possiamo andare indietro dalla lista degli utenti abbiamo anche il gravatar associato gravatar sappiamo tutti che non è il massimo della sicurezza e comunque sia esiste anche adesso non ho messo qui un sito che ha un database di gravatar abbastanza abbastanza denso sempre di gravatar e di associazioni scusate e mail utenti gravatar diciamo dove è possibile mettere il nome utente e vedere la grava insomma il gravatar e avere la mail insomma ovviamente è un problema di sicurezza questo qui quindi c'è la possibilità dal gravatar di risalire alle mail dei gravatar che sono stati tramite questo database quindi effettivamente c'è questo problema non so se era questo quello che ok un'altra veloce altrimenti chiudiamo io ti faccio la domanda sulla questione di offuscamento delle informazioni in colaro visto che rimuovevi le versioni esatto questo qui le versioni dagli url di css javascript giusto e questo però non ti crea problemi di cashing cioè se poi tu vuoi forzare un refresh della cash del browser hai qualche cosa per girarlo di fatto io qui rimuovo la versione solamente se mi accorgo che matcha con la versione di warps nulla mi vieta di mettersi una versione mia non legata la versione di warps ok per forzare refresh di css ecco cioè qui di fatto rimuovo solamente la versione se mi accorgo che esattamente uguale a quella di warps la versione di warps però al posto di rimuovere l'argomento ver potrei assegnarli un altro valore che non è assolutamente legato alla versione di warps in questo modo forzare refresh della cash ecco questo è un esempio banalissimo ecco quindi