<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Aldolat.it &#8212; Post con tag Recensioni</title>
        <link>https://www.aldolat.it/tags/recensioni/</link>
        <description>Ultimi post pubblicati nel tag Recensioni &#8212; aldolat.it</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>it</language>
        <managingEditor>aldolat@gmail.com (Aldo Latino)</managingEditor>
        <webMaster>aldolat@gmail.com (Aldo Latino)</webMaster>
        <copyright>Creative Commons BY-SA 4.0</copyright>
        <lastBuildDate>Sun, 05 Jan 2025 22:56:54 +0100</lastBuildDate>
        <atom:link href="https://www.aldolat.it/tags/recensioni/index.xml" rel="self" type="application/rss+xml" />
        <item>
            <title>Quando il nome del tuo plugin non aiuta</title>
            <link>https://www.aldolat.it/posts/2019/quando-il-nome-del-tuo-plugin-non-aiuta/</link>
            <pubDate>Sun, 17 Nov 2019 08:51:40 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2019/quando-il-nome-del-tuo-plugin-non-aiuta/</guid>
            <description>Chi segue questo blog magari si ricorderà che nel 2010 creai un plugin per mostrare una porzione del testo di un articolo o di una pagina solo a determinati ruoli di WordPress. Quel plugin, che creai a maggio del 2010 e resi disponibile al download dal sito digwp.com di Jeff Starr, è nei repository di WordPress da novembre del 2012.&#xA;Questo plugin si chiama Private Content. Un nome come un altro, ma purtroppo si è rivelato nel tempo eccessivamente semplice da usare per altri sviluppatori di plugin. Quantomeno nel repository di WordPress ce n’è uno che si chiama WP Private Content Plus e, nel repository di CodeCanyon, uno che ha lo stesso identico nome del mio, cioè Private Content, appunto.</description>
            <content:encoded>&lt;p class=&#34;dc3&#34;&gt;Chi segue questo blog magari si ricorderà che nel 2010 creai un plugin per mostrare una porzione del testo di un articolo o di una pagina solo a determinati ruoli di WordPress. Quel plugin, che creai &lt;a href=&#34;https://www.aldolat.it/posts/2010/un-plugin-per-aggiungere-contenuto-privato-ai-post/&#34;&gt;a maggio del 2010&lt;/a&gt; e resi disponibile al download dal sito &lt;a href=&#34;https://digwp.com/2010/05/private-content-posts-shortcode/&#34;&gt;digwp.com&lt;/a&gt; di Jeff Starr, è nei repository di WordPress &lt;a href=&#34;https://www.aldolat.it/2012/wordpress/plugin-private-content/&#34;&gt;da novembre del 2012&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Questo plugin si chiama &lt;em&gt;Private Content&lt;/em&gt;. Un nome come un altro, ma purtroppo si è rivelato nel tempo &lt;em&gt;eccessivamente semplice da usare&lt;/em&gt; per altri sviluppatori di plugin. Quantomeno nel repository di WordPress ce n’è uno che si chiama &lt;em&gt;WP Private Content Plus&lt;/em&gt; e, nel repository di CodeCanyon, uno che ha lo stesso identico nome del mio, cioè &lt;em&gt;Private Content&lt;/em&gt;, appunto.&lt;/p&gt;&#xA;&lt;p&gt;Questa cosa ha causato negli anni, compreso oggi, non poche noie, sia a me che agli utenti. Cominciamo dall’ultimo plugin, quello ospitato su CodeCanyon.&lt;/p&gt;&#xA;&lt;h2 id=&#34;private-content-su-codecanyonnet&#34;&gt;Private Content su codecanyon.net&lt;/h2&gt;&#xA;&lt;p&gt;Avendo questo plugin lo stesso identico nome del mio, succede che agli utenti del plugin di CodeCanyon &amp;mdash; quando io pubblico un aggiornamento &amp;mdash; WordPress sovrascrive la directory del plugin installato con quella del mio plugin.&lt;/p&gt;&#xA;&lt;p&gt;In altre parole, se un utente usa &lt;em&gt;Private Content&lt;/em&gt; di CodeCanyon e io pubblico un aggiornamento del mio plugin (che è tutto un altro plugin), WordPress gli installa il mio, con tutti i problemi che potete immaginare.&lt;/p&gt;&#xA;&lt;p&gt;Il plugin ospitato su CodeCanyon gestisce tutta una serie di funzioni (tra cui, se ho capito bene, autenticazione degli utenti, visibilità di contenuti a pagamento e cose simili), col risultato che, in caso di sovrascrittura del plugin legittimo, l’amministratore si ritrova con un plugin del tutto diverso e una situazione completamente sottosopra: dopo essersene accorto, dovrà ripristinare la situazione subito, altrimenti addio a tutti i permessi che aveva impostato.&lt;/p&gt;&#xA;&lt;p&gt;Com’è possibile che succeda questo? WordPress (almeno per ora) non ha una gestione dei plugin basata su firma crittografica, hash o tecniche di questo tipo, ma si basa, per aggiornare un plugin, sullo &lt;em&gt;slug&lt;/em&gt; del plugin, &lt;em&gt;slug&lt;/em&gt; che coincide col nome della directory dove viene ospitato sul suo repository. Quindi, se nel sito dell’utente la directory che contiene il plugin di CodeCanyon si chiama &lt;code&gt;private-content&lt;/code&gt; e WordPress si accorge che il plugin &lt;em&gt;Private Content&lt;/em&gt; fatto da Aldo (che ha lo stesso slug &lt;code&gt;private-content&lt;/code&gt;) è stato aggiornato rispetto a quello installato, WordPress lo &amp;ldquo;aggiorna&amp;rdquo;, sostituendo il contenuto della directory.&lt;/p&gt;&#xA;&lt;p&gt;Ho perso il conto di quanti utenti mi hanno segnalato questa cosa, ma non posso farci niente. Avrei dovuto, semmai, scegliere un nome più complicato, ma non era semplice immaginarsi una cosa di questo tipo.&lt;/p&gt;&#xA;&lt;h2 id=&#34;wp-private-content-pro-su-wordpressorg&#34;&gt;WP Private Content Pro su wordpress.org&lt;/h2&gt;&#xA;&lt;p&gt;La storia con questo plugin è invece recentissima. Non mi era mai capitato di imbattermi in problemi con lui.&lt;/p&gt;&#xA;&lt;p&gt;Oggi, di prima mattina, insieme col caffè mi arriva la segnalazione che un utente ha lasciato una recensione a una stella su questo plugin. Apro la recensione e leggo:&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2019/11/wp_review_1.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;wp_review_1&#34; width=&#34;350&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Easily infected&lt;/em&gt;! Addirittura! 😀 Ho notato subito, però, quel &lt;code&gt;wppcp_options&lt;/code&gt; che il mio plugin non crea assolutamente nel database. Immediatamente ho capito che si trattava di un’altro scambio di plugin: l’autore della recensione, mi sono detto, ha sbagliato posto.&lt;/p&gt;&#xA;&lt;p&gt;Cerco subito quale plugin possa creare quell’&lt;em&gt;option name&lt;/em&gt; nella tabella delle opzioni di WordPress. Non mi ci è voluto molto a trovare il plugin &lt;em&gt;WP Private Content Plus&lt;/em&gt; (notate il prefisso del nome delle opzioni &lt;code&gt;wppcp_&lt;/code&gt; che combacia con questo nome). Ho anche notato che nelle recensioni di questo plugin diversi utenti hanno segnalato (scorrettamente, perché non si fa così) problemi di sicurezza di questo plugin, ormai risolti a detta del suo autore.&lt;/p&gt;&#xA;&lt;p&gt;Ho fatto presente all’autore della recensione l’errore:&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2019/11/wp_review_2.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;wp_review_2&#34; width=&#34;350&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Ho atteso quasi tutto il giorno. Nel tardo pomeriggio ho aggiunto un altro commento alla recensione, ma questa volta rivolgendomi ai moderatori e aggiungendo alla recensione il tag &lt;code&gt;modlook&lt;/code&gt;, fondamentale per far intervenire i moderatori:&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2019/11/wp_review_3.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;wp_review_3&#34; width=&#34;350&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Pochi minuti dopo, un moderatore è intervenuto e, dopo aver lasciato un commento, ha cancellato la recensione. Ecco cosa ha scritto:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;@xxxyyyzzz&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;It appears you’ve posted this incorrectly so I’m removing it.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Reviews are not how you should deal with a potentially vulnerable plugin. Please see &lt;a href=&#34;https://developer.wordpress.org/plugins/wordpress-org/plugin-security/reporting-plugin-security-issues/&#34;&gt;https://developer.wordpress.org/plugins/wordpress-org/plugin-security/reporting-plugin-security-issues/&lt;/a&gt; for the proper procedure.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;span class=&#34;sc&#34;&gt;Steve Stern&lt;/span&gt;, su wordpress.org&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Il punto 1 era palese: il recensore si era sbagliato sulla pagina dove scrivere. Il punto 2 è interessante perché tiene conto della &lt;em&gt;responsible disclosure&lt;/em&gt;: detto in breve, se trovi una vulnerabilità, non spiattellarla subito ai quatto venti, ma avvisa in privato chi di competenza e dai un tempo massimo per la risoluzione del problema, al cui scadere renderai pubblica la vulnerabilità.&lt;/p&gt;&#xA;&lt;p&gt;Poco fa l’autore della recensione si è scusato via email e mi ha anche ringraziato per averlo guidato.&lt;/p&gt;&#xA;&lt;p&gt;Ecco, tutto questo per dire che, se avessi usato un nome del tutto diverso da &lt;em&gt;Private Content&lt;/em&gt;, di certo in questi anni non avrei dovuto perdere tempo dietro a queste storie.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2019/quando-il-nome-del-tuo-plugin-non-aiuta/&#34;&gt;Quando il nome del tuo plugin non aiuta&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
    </channel>
</rss>
