MENU


WordPress e l’abuso di wp_postmeta e la sua pulizia


Se googolate wp_postmeta le prime pagine sono tutte relative alla richiesta di istrusioni per la pulizia di wp_postmeta oppure sulle istruzioni relative alla pulizia della stessa. In effetti altra cosa che non amo di wordpress (apena scritto di cose che non amo di wordpress nell’articolo precedente) è l’ultizzo del database. Dando un’occhio alle mie tabelle mi sono reso conto di quanto fosse grande wp_postmeta. Esplorandola ho scoperto che il 90% delle righe erano occupate da un plugin (BAW Post Views Count) che si occupa di tenere conto della quantità di visite ricevute per post. Per “l’importanza” del plugin ho reputato che il suo uso della tabella discussa fosse un po’ invasivo. Morale della favola, sconsigio BAW Post Views Count e se implementate un plugin sconsiglio tendenzialmente di utilizzare le tabelle native di wordpress, consiglio di creare delle tabelle ad hoc. Relativamente a BAW Post Views Count ho poi fatto pulizia così DELETE FROM `mydb_postmeta` WHERE `meta_key` LIKE ‘%_count-views_%’   Infine una piccola query che leva di mezzo almeno le righe relative a post che non esistono più. SELECT * FROM {$wpdb->postmeta} as pm LEFT JOIN {$wpdb->posts} as p ON pm.post_id = p.ID WHERE p.ID IS NULL
Read More ›


WordPress sito in multilingua


In qualità di CMS uno dei pochi grandi difetti di WordPress sta nel non essere multilingua (altro grandissimo difetto è quello di avere una scarsissima gestione del livello di accesso, inesistente sulle aree, alberatura di contenuto e creazione gruppi oltre ai ruoli). Dopo aver più volte testato sulla mia pelle le criticità di creare un sito multilingua con wordpress non posso che proporre la lettura di questa completissima guida (chiaramente in inglese)  http://wplang.org/translation-plugins-languages/ . Un piccolo cappello introduttivo alla guida può raccontarvi che ci sono due modi fondamentali per tradurre con wordpress: attraverso un plugin o attraverso l’installazione multi-sito. Dopo un’esperienza scoraggiantissima con QTranslate che nella versione specifica che usai trovai pieno di bachi che risolsi io stesso, altrimenti il sito in questione non avrebbe potuto andare online, ho sempre solo usato WPML che per contro ha dei costi di acquisto. Polylang potrebbe essere un’altrenativa gratuita ma non mi ci sono mai avventurato. Davvero molto più complesso e time-consuming (non tanto per l’installazione quanto per la manutenzione) è la possibilità di creare un multisito. Da wordpress 3 è possibile effettuare una configurazione multisito in cui la stessa installazione condivide gli stessi file di core e plugin, ma tabelle del database diverse […]
Read More ›


Windows: creare una lista dei file presenti in una cartella


Creare una lista dei file presenti in una cartella e scriverli su un file di testo può essere utile in molti casi, ad esempio se voglio passare la lista di film che ho a disposizione. Se il sistema operativo che usate è windows (pressochè qualsiasi versione) nella cartella in cui volete listare i file create un file TXT. Apritelo e scriveteci dentro ad esempio dir *.* /b /s > i_miei_film.txt dove i_miei_film.txt è il nome del file che verrà creato. Rinominate il file con estensione .bat (eseguibile dos) fateci doppio click su. Fatto.
Read More ›


Problemi accesso FTP con Filezilla


A seguito dell’aggiornamento automatico alla nuova versione di Filezila ( 3.10.02), ho rilevato un problema di connessione ai siti ai quali, fino a poco prima, mi connettevo senza difficoltà. Con la nuova versione del software è stata inserita l’opzione “Usa se disponibile FTP esplicito su TLS” che è stata applicata automaticamente alle configurazioni già presenti. Se il server quindi accetta la connessione, ma poi non riesce a leggere le cartelle (questo il mio caso), provate ad aprire il pannello della configurazione alla connessione problematica e modificare da: “Usa se disponibile FTP esplicito su TLS” a “Usa solo FTP non sicuro”. A seguire l’errore nel mio log, poi risolto con la modifica descitta. Stato:    Connessione TLS stabilita. Stato:    Il server non supporta caratteri non ASCII. Stato:    Connesso Stato:    Lettura elenco cartelle... Comando:    PWD Risposta:    257 "/" is your current location Comando:    TYPE I Risposta:    200 TYPE is now 8-bit binary Comando:    PASV Risposta:    227 Entering Passive Mode (103,213,121,146,142,228) Comando:    MLSD Errore:    Tempo scaduto per la connessione Errore:    Non è stato possibile leggere il contenuto della cartella   Dato il grande successo di questo articolo (oltre 750 visite al mese) amplio la serie 🙂 Problemi di accesso ftp su aruba: error 530
Read More ›


Error reporting level in wordpress , gestione avanzata degli errori


In wp-config di wordpress possiamo accendere il debug di wordpress, ma questo ha un livello di on e off non è possibile personalizzarlo. La funzione che si occupa di “accendere” il debug (“sovrascrivendo” la configurazione del vostro server) è wp_debug_mode() che risiede in wp-includes/load.php . Ora per configurare il livello di debug si potrebbe modificare la funzione nelle seguenti righe, da if ( WP_DEBUG_DISPLAY ) ini_set( 'display_errors', 1 ); elseif ( null !== WP_DEBUG_DISPLAY ) ini_set( 'display_errors', 0 ); a if ( WP_DEBUG_DISPLAY ){ ini_set( 'display_errors', 1 ); ini_set('error_reporting', E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT); }elseif ( null !== WP_DEBUG_DISPLAY ){ ini_set( 'display_errors', 0 ); } ma andare a modificare una pagina php che fa parte del core è concettualmente sbagliato, è un lavoro sporco e sopratutto se un aggiornamento di wordress sovrascrivesse il file la modifica andrebbe persa. La migliore e più semplice strategia per personalizzare il livello quindi è la seguente. Creare in wp-content la cartella mu-plugins (must use plugins). Si tratta di una cartella i cui file vengono chiamati automaticamente e in ordine alfabetico. Create un file php a piacere come ad esempio error-reporting.php e poi inserite ad esempio la seguente riga: ini_set('error_reporting', E_ALL & ~E_NOTICE […]
Read More ›


Child theme in wordpress


Se installate un tema di terzi su wordpress è il caso uno di appurare che si tratti di un tema sicuro e non contenga codici maligni ad esempio con Theme Authenticity Checker (TAC) . E’ poi possibile che il tema sia passibile di aggiornamenti e quindi per evitare che con un aggiornamento il tema e le nostre eventuali modifiche vengano sovarascritte è buona norma creare un Child Theme. Il Child Theme è un tema che eredita le caratteristiche del genitore ma in caso esistano dei file con uno stesso nome i file del genitore subiscono override (direi tutti ad eccezione di style.css e functions.php, che ereditano il codice del genitore e accodano il loro). Per dare luce la tema è necessario creare una cartella nella directory themes che potrebbe essere “mytheme-child” (per creare il child del tema “mytheme”) e inserire un file style.css. Nel file css è necessario dichiarare il seguente codice: /* Theme Name: mytheme Child Description: Tema Child per il tema mytheme Author: Federico Porta Author URI: https://www.federicoporta.com Template: mytheme Version: 0.1.0 */ Perchè l’override avvenga in maniera corretta è ideale creare functions.php e accodare i css del genitore con una funzione <?php add_action( 'wp_enqueue_scripts', 'enqueue_parent_theme_style' ); function […]
Read More ›


DNS e verifica della loro propagazione


Il DNS (Domain Name System) è un pezzo di hardware che traduce un nome di dominio in un numero IP (risoluzione diretta) e viceversa da un numero IP ad un nome di dominio (risoluzione inversa). Esistono diversi tipi di record DNS e ad ognuno possono corrispondere diversi tipi di informazioni, ovvero esiste un insieme di valori che fanno riferimento ad un’unica identità e che danno informazioni diverse. Record A – Indica la corrispondenza tra un nome ed uno (o più) indirizzi IP, per la precisione indirizzi IPv4 (Internet Protocol version 4) , ovvero la versione più generalmente in uso adesso. Record MX – (Mail eXchange) indica a quali server debba essere inviata la posta elettronica per un certo dominio. Record CNAME – Sono usati per creare un alias, ovvero per fare in modo che lo stesso calcolatore sia noto con più nomi. Uno degli utilizzi di questo tipo di record consiste nell’attribuire ad un host che offre più servizi un nome per ciascun servizio. In questo modo, i servizi possono poi essere spostati su altri host senza dover riconfigurare i client, ma modificando solo il DNS. Record PTR – Il DNS viene utilizzato anche per realizzare la risoluzione inversa, ovvero […]
Read More ›


Nextgen gallery security issue – problema di sicurezza per nextgen


ITA Il mio sito è stato infettato, devo ancora approfondire, ma apparentemente se il folder contenitore delle immagini di next gen si trova fuori da upload e in chmod 777, 757 or 755 (la configurazione giusta dovrebbe essere 755) è possibile effettuare una code injection. Per questo sul mio sito erano presenti un po’ di file php (nella cartella gallery) con l’istruzione eval() al loro interno, e quindi nell’ordine era stato riscritto l’htaccess e poi veniva usato il server per mandare delle mail. La soluzione, da verificare completamente, è di spostare il default di caricamento di next gen in uploads/gallery  e di spostare la cartella gallery con le sottocartelle dentro uploads. Per evitare che i motori di ricerca mandino gli utenti a immagini che non esistono più è possibile editare l’.htaccess come segue RewriteRule ^wp-content/gallery/(.*)$ /wp-content/uploads/gallery/$1 [R=301,NC,L] bisogna poi lanciare un update da mySql per aggiornare il percorso delle immagini update wp_ngg_gallery set path = REPLACE(path, 'wp-content/gallery/', 'wp-content/uploads/gallery/'); e chiedere una revisione dei link da parte dei motori di ricerca. ================================================================================ ENG I guess I found out a security issue for next gen gallery: it seems that if the main folder (gallery) is outside uploads forlder some code can be […]
Read More ›


Controllare se un sito web è infetto da Malware, Virus o Trojan


Anche i siti si possono ammalare, ecco come avere loro cura prima che venga segnalato “infetto” o “pericoloso” dai motori di ricerca. Questo comporta una serie di problemi quali: un calo nelle visite al sito, un abbassamento dei guadagni, discesa della “reputability”. E’ alquanto complicato per uno sviluppatore, scovare un malware o il virus nel codice sorgente, vistro che l’infezione potrebbe essere ovunque, sotto più forme, tramite codici decodificati, di reindirizzamento, iframe o altro ancora. Fortunatamente esistono servizi online e gratuiti che consentono di controllare ed effettuare delle scansioni gratuitamente, per verificare se il vostro sito web è stato o meno infetto da malware, virus o trojan. A seguire una lista strumenti online: Dr. web A discapito dell’infelice nome URLologist la scansione del sito è accurata Sucuri Interessante anche in quanto rilascia un plugin per wordpress che permette di controllare il sito dal suo interno Online Link Scan verifica se un sito web sono presenti infezioni di malware, link sospetti o altre anomalie, (utile come procedimento anche per PC). Url Void strumento di verifica per domini, sottodomini e pagine web. In caso di infezione, il servizio riporta il nome del malware che ha infetto il sito web, e solitamente anche […]
Read More ›


HTML5 è stato decretato standard da W3C – era ora :)


  Il gruppo di lavoro HTML del World Wide Web Consortium (aka W3C) ha promosso HTML5 a status di “Raccomandazione”, sancendolo HTML5 come nuovo standard per il Web. Tra i grandi passi avanti HTML5 vanta la sempre minore dipendente dall’uso di plug-in esterni per la fruizione di contenuti multimediali essendo questo linguaggio di formattazione del testo munito di strumenti per il rendering di grafica (anche “videoludica”), supportando nativamente il formato di grafica vettoriale SVG e MathML. La standardizzazione di HTML5 rispetta sostanzialmente le tempistiche precedentemente annunciate dal W3C. Segna inoltre un passaggio di consegne del linguaggio di markup dal 4.01 che non conosceva un aggiornamento sostanziale dalla release del 1999. Nei 15 anni trascorsi il consorzio ha lavorato ad XHTML, una tecnologia pensata per integrare le caratteristiche di XML e regole “strict”(er) di validazione delle pagine Web, l’apice evolutivo dell’XHTML sarebbe stato l’XHTML2 che implicava tra le altre cose l’imposizione ai browser della mancata visualizzazione di una pagina nel caso in cui tali regole non fossero rispettate e la non retro compatibilità con XHTML1.1 . Il progetto XHTML non ebbe quindi il successo sperato ed avvenne quindi uno scisma che diede alla luce al gruppo WHATWG, una community che con […]
Read More ›