Archives For Ricerca e Sviluppo

Ti riporto qui di seguito una piccola modifica al codice del functions.php di WordPress che puoi utilizzare per escludere dalla creazione del feed RSS una particolare categoria di articoli che non vuoi compaiano nei lettori feed dei tuoi lettori. Si tratta di una modifica semplice e che non si limita a una sola categoria nel caso tu te lo stessi chiedendo.

WordPress e sicurezza: alcune best practices 2

Forse inutile che te lo dica ma sai bene che in questi casi è meglio prevenire che curare:

ATTENZIONE: Prima di eseguire qualsiasi modifica ai tuoi file e/o dispositivi sei pregato di effettuare un backup di questi (o lavorare in ambiente di test e mai di produzione). Solo così sarai capace di tornare indietro ponendo rimedio a eventuali errori di distrazione.

Ciò detto, apri il file functions.php del tuo tema e copia / incolla il codice PHP qui di seguito, non salvare le modifiche prima che io ti abbia spiegato cosa c’è da ritoccare:

function exclude_category( $query ) {
    if ( $query->is_feed ) {
        $query->set('cat', '-000');
    }
return $query;
}
add_filter('pre_get_posts', 'exclude_category');

Come forse avrai capito quel -000 fa riferimento alla categoria da escludere dal feed RSS del tuo blog. Per individuare il giusto ID da escludere portati nella pagina Categories (Categorie in italiano) del tuo pannello amministrativo (dovresti arrivare all’URL TUOBLOG.COM/wp-admin/edit-tags.php?taxonomy=category per capirci), punta il cursore del mouse sul nome della categoria che intendi escludere (non fare clic) e leggi in basso a sinistra (o destra, dipende dal browser) l’URL al quale quel collegamento punta:

Lo vedi quel tag_ID? È proprio quello l’ID che ti serve. Per capirci, se dovessimo basarci sull’esempio nell’immagine dovresti sostituire il -000 con il -2415. Tutto chiaro? Bene, salva le modifiche al file e sovrascrivilo sul server, l’operazione è così terminata. Se hai bisogno di escludere più categorie contemporaneamente poco male, puoi aggiungerle in coda alla prima dichiarata separandole con la virgola, per capirci $query->set('cat', '-000, -001, -003');.

In caso di problemi utilizza pure l’area commenti qui di seguito.

Buon lavoro!

× Le pillole del Dr.Mario

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

Ciao! Era da qualche tempo ormai che non rimettevo più mano ai miei plugin di ricerca Firefox. Qualche giorno fa ho avuto la necessità di dare un’occhiata ad alcuni titoli presenti nel database di Trakt e mi sono accorto che mi sarebbe tornato più comodo avere un tag di ricerca rapido al quale ormai sono abituato. Ho risolto il problema e scritto quelle poche righe necessarie a creare lo strumento di ricerca dedicato al servizio.

Cerca rapidamente su Trakt con Firefox

Trakt non è localizzato in italiano, per questo motivo la ricerca viene effettuata sì tenendo conto del titolo di una serie o di un film anche nella nostra lingua, ma restituendo pur sempre una pagina di risultati in inglese, non c’è differenza questa volta. La ricerca è sempre utilizzabile dal campo dedicato (ammesso tu lo stia ancora utilizzando) o direttamente passando dalla barra dell’URL nel caso in cui – come me – utilizzi le parole chiave che ti permettono di saltare il passaggio intermedio e arrivare direttamente a destinazione.

L’addon di ricerca è disponibile come sempre su AMO:

TraktTV-IT
TraktTV-IT
Developer: Gioxx
Price: Free

e questo di seguito è il suo codice sorgente:

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
     <ShortName>TraktTV-IT</ShortName>
     <Description>Cerca tutto quello che ti serve su TRAKT.tv</Description>
     <InputEncoding>UTF-8</InputEncoding>
     <Url type="text/html" template="https://trakt.tv/search?query={searchTerms}"/>
</OpenSearchDescription>

All’appello del codice qui sopra manca solo l’immagine che viene usata come icona del plugin di ricerca, occupa diverse righe perché codificata in base64 (data:image/x-icon;base64), non penso sia fondamentale, puoi sempre dare una sbirciata al codice XML anche tramite il tuo browser.

Sfruttare la ricerca rapida

Per aggiungerlo alle ricerche rapide di Firefox tramite barra dell’URL vai nelle Preferenze di Firefox, quindi in Ricerca, fai doppio clic in corrispondenza di TraktTV-IT e aggiungi la parola chiave che intendi utilizzare da ora in poi, come in immagine:

Cerca rapidamente su Trakt con Firefox 1

In pratica, nel caso dell’immagine sopra, digitando nella barra dell’URL “trakt termine-di-ricerca” partirà in automatico una ricerca su Trakt per qualsiasi voce (serie televisiva, show, film) contenga la parola “termine-di-ricerca”, da sostituire con ciò che intendi cercare sul serio 🙂

Buon divertimento!

Condividi l'articolo con i tuoi contatti:

Fai fatica a credere al detto “chi fa da sé fa per tre“? Io no. Ora, fermo restando che la collaborazione è alla base di un mondo logico che funziona correttamente, è anche vero che il lavoro volontario può subire battute di arresto alle quali puoi difficilmente appellarti, succede a tutti (me compreso). È da qui che nasce tutto: HWS e NoCoin hanno subito la battuta di arresto che ha portato entrambe le liste a non essere più aggiornate per un certo periodo di tempo. Da una parte Malware Domain List è finito per essere quasi completamente abbandonato, dall’altro lato Keraf sembra aver mollato la presa sul suo progetto NoCoin, un vero peccato. Ho dovuto quindi rimettere mano alle sorgenti.

ABP X Files e Harmful WebSites: ecco come nascono

Al contrario di X Files che viene costantemente testata e mantenuta sui profili Firefox del sottoscritto, i moduli aggiuntivi dedicati al blocco di siti web potenzialmente pericolosi e quello che cerca di bloccare chi vuole fare mining a spese del tuo PC e dei relativi consumi in bolletta vengono generati più dinamicamente, partendo da lavori di altri volontari che alimentano un database che – almeno in passato – è sempre stato più che aggiornato. Cosa cambia quindi rispetto al passato? Che futuro prevedo per HWS e NoCoin?

Nuova vita per HWS

AdBlock: X Files 20130108 2Strada tutto sommato in discesa a dirla tutta. MDL (Malware Domain List, nda) è ancora oggi un buon database di siti web che non possono portare alcun vantaggio alla tua navigazione quotidiana, il problema sta nel fatto che questo database non viene più popolato come si deve, la sua manutenzione è inoltre lasciata al fato e alla voglia che la corrente ha di portare a riva qualcosa che può essere ancora salvato. È qui che corre in soccorso un progetto GitHub che ho trovato e amato dal primo momento, si tratta di Ultimate Hosts Blacklist, serve a togliere di mezzo la spazzatura, ciò che non è più evidentemente attivo e necessario: “We clean our input sources with the powerful combination of @funilrys/PyFunceble & Travis CI“.

Te la faccio semplice: PyFunceble è uno strumento in grado di verificare – tra le varie cose – se un dominio è ancora operativo o se non è più online e non è quindi necessario all’interno di una lista filtri che lo include ancora. Questo permette una migliore ottimizzazione della lista, di risparmiare spazio e far sì che il browser debba svolgere meno lavoro, guadagnandone in performance. Nonostante le risorse a nostra disposizione sono ormai più che abbondanti è da considerare all’interno dell’equazione anche il valore relativo all’occupazione disco dei file testuali, seppur differenti di pochi kB, filtri che il componente aggiuntivo operante sul browser deve in qualche maniera digerire.

Partendo da questo presupposto, Ultimate Hosts Blacklist monitora e pulisce una quantità abbastanza elevata di liste filtri disponibili attualmente sul web, tra cui quella di MDL e non solo. Lo stesso Anudeep utilizza PyFunceble per tenere in ordine le liste filtri che mette pubblicamente a disposizione (ti ho parlato di Anudeep negli articoli dedicati a Pi-hole e ph-whitelist, ricordi?). Detto ciò, sono partito da questa base per mettere insieme due fonti molto valide che hanno fatto parte della storia di HWS: Malware Domain List e ZeusTracker (nonostante quest’ultimo sia stato ufficialmente cessato).

Questo consente a HWS di continuare a vivere e permette a me di continuare a sviluppare lo script che utilizza le fonti esterne per arricchire ulteriormente questa lista, soprattutto vista la necessità di affacciarmi su qualcosa di mantenuto in vita ancora oggi, il lavoro non è certamente terminato, evolverà ancora, conto presto di mostrarti cosa è cambiato quindi sotto il motore di quell’ormai vecchio e non più in vita VBScript di cui ti parlavo diverso tempo fa.

Giusto per dire: avevo anche considerato l’impiego della mastodontica hpHosts curata da Malwarebytes ma ti assicuro che il risultante file di testo creato dal VBScript sarebbe stato davvero troppo difficile da digerire per un qualsivoglia componente aggiuntivo, è molto meglio pensare di impiegare quel tipo di lista per un Pi-hole che svolge meglio questo mestiere.

NoCoin

ABP X Files: NoCoinIl discorso qui invece cambia. Le liste filtri che tengono a bada il mercato del barbaro mining a tue spese non sono così tante come dovrebbero, mi rendo conto quindi che il lavoro di altri volontari deve meritare il giusto rispetto e attenzione da parte mia e tua. Ho fatto ricerche in merito e trovato il più completo operato di hoshsadiq, lo trovi qui: github.com/hoshsadiq/adblock-nocoin-list.

La lista filtri è già pronta e aggiornata. Quello che ho fatto qualche giorno fa è stato replicare integralmente il suo lavoro e portarlo dentro il file NoCoin.txt al quale probabilmente sei iscritto tramite il tuo componente aggiuntivo preferito. Quello che capiterà d’ora in poi è che nulla di tutto questo accadrà ancora, ti chiedo quindi di cessare la tua sottoscrizione a NoCoin e sostituirla quanto prima con quella di hoshsadiq. Per renderti la vita più semplice puoi farlo anche tramite il sito web ufficiale di X Files, punta il browser all’indirizzo xfiles.noads.it/#versions-recommended e fai clic su Sottoscrivi in corrispondenza della “NoCoin di hoshsadiq“.

Ringrazio tutti coloro che hanno deciso di utilizzare questa lista, Keraf per il lavoro svolto fino a oggi e per la possibilità che mi ha dato di portare in vita il modulo NoCoin di X Files, l’avventura di X Files: NoCoin termina qui 🙂

In conclusione

Per una lista che intraprende una nuova strada e – si spera – lunga nuova vita si è costretti a cessarne un’altra, l’ultima arrivata, la più giovane. X Files è un progetto che vive ancora grazie alla volontà del sottoscritto e di tutti coloro che hanno deciso di collaborare nel corso degli anni, un esperimento che ne ha passate tante ma che è finito per diventare qualcosa di grande e ben conosciuto, sono felice di poterci lavorare ancora sopra e di mettere a tua disposizione un web più pulito. Io nel frattempo ho fatto richiesta di integrazione dei moduli X Files nel controllo del progetto Dead-Hosts basato proprio su PyFunceble, il quale mi permetterà di andare a ottimizzare la lista filtri principale (e non solo) rimuovendo i domini non più attivi.

Perché non ne approfitti per offrirmi un caffè, una birra o ciò che più preferisci? Puoi sfruttare PayPal, Satispay (non sei ancora iscritto? Fallo subito per ottenere 5 euro in omaggio), Buy Me A Coffee o diventare sostenitore su Patreon. Se non vuoi spendere soldi puoi sempre fare acquisti su Amazon passando dal mio codice referral! Grazie mille in anticipo e buona navigazione! 🥰


Ringraziamenti in ordine sparso per le modifiche ai VBScript che generano le liste filtri che utilizzi (spero) anche tu:
stackoverflow.com/questions/2973136/download-a-file-with-vbs
compciv.org/recipes/cli/downloading-with-curl
vbsedit.com/html/6f28899c-d653-4555-8a59-49640b0e32ea.asp
robvanderwoude.com/vbstech_internet_download.php
devblogs.microsoft.com/scripting/can-i-combine-multiple-text-files-using-a-script
Condividi l'articolo con i tuoi contatti:

Bello ammettere la propria ignoranza in merito, sono solito utilizzare altri strumenti per inviare email massive in giro per indirizzi di posta elettronica altrui (nulla che riguardi lo spam, tranquillo), eppure stavolta mi serviva qualcosa di più personalizzato, per non troppi destinatari (meno di un centinaio) e che partisse direttamente dalla casella di posta del team di lavoro IT. Ho cercato e trovato risposta al mio dubbio: esiste la “mail unione“? La risposta è .

Outlook: dalla stampa unione alla "mail unione" con qualche passaggio

Una risposta ovvia per chi ha già usufruito di questa comodità in passato (e magari lo fa tutt’oggi), un po’ meno ovvia per me che l’ho scoperta per la prima volta nonostante abbia già utilizzato in passato la Stampa Unione di Microsoft Word. È proprio da quest’ultimo che si passa ancora una volta, cambierà solo il metodo di invio della comunicazione a destinazione.

Mail unione con Microsoft Word

Tutto molto bello, posso arrangiarmi in autonomia? Ma certo, ti fornisco i collegamenti che mi sono tornati utili per portare a termine il lavoro:

Aggiungo infine un collegamento specifico a ciò che ti servirà ritoccare su Outlook per inviare l’email massiva da un preciso indirizzo.

Ciò detto, lascia che io ti riepiloghi il da fare per arrivare al traguardo 🙂

  • Prepara un file di Excel contenente tutti i dettagli che ti servono (una colonna per il nome, una per il cognome, una magari per un nome utente e così via fino a raggiungere un numero di colonne che possano fornirti tutti i dati necessari a comporre la tua email). Ho creato e salvato un file d’esempio che puoi trovare qui: go.gioxx.org/muexample.
Attenzione: Prima di continuare ti lascio qui un suggerimento. Inserisci i tuoi dati nella prima riga utile del file Excel (quindi presumibilmente la seconda, considerando che la prima ti serve per riportare le intestazioni delle colonne), questo ti servirà per inviare al termine una email di test per assicurarti che tutto funzioni.
  • Apri Microsoft Word e inizia a scrivere il testo che vuoi utilizzare come corpo dell’email, se hai già preparato il tutto su Outlook allora copia e incolla in Microsoft Word come nulla fosse.
  • Spostati nel menu LettereInizia stampa unioneMessaggi di posta elettronica, noterai un rapido cambiamento di layout di Word, non ti preoccupare. Scegli (sempre dalla barra menu del programma) Seleziona destinatariUsa un elenco esistente, cerca e selezione il file di Excel. Conferma con OK.
  • A questo punto all’interno del corpo email che stai preparando potrai utilizzare i campi unione presenti in elenco. Per farlo ti basterà selezionare il pulsante Inserisci campo unione e selezionare quello che ti serve dall’elenco a tendina. Dovresti ottenere qualcosa di simile:

Outlook: dalla stampa unione alla "mail unione" il passo è breve

  • Se vuoi dare un’occhiata a quello che sarà il risultato finale puoi sempre fare clic sul pulsante Anteprima risultati, il quale andrà a trasformare i campi unione in dati realmente raccolti dal file Excel che hai fornito:

Outlook: dalla stampa unione alla "mail unione" il passo è breve 1

  • Se pensi di aver terminato la preparazione si può passare alla finalizzazione e all’invio della comunicazione massiva. Fai clic su Finalizza e unisciInvia messaggi… . Nel box comparso a video dovrai specificare il contenuto del campo A (si tratta nuovamente di un campo unione, torna quindi comodo l’elenco Excel di prima), l’oggetto (che in questo caso non potrà dipendere da campo unione) e altri dati fino ad arrivare all’Invia record. È qui che ti consiglio caldamente di specificare Record corrente e assicurarti che in anteprima del messaggio compaiano i tuoi dati. Così facendo partirà un’email destinata esclusivamente a te, potrai verificare che tutto sia in ordine prima di fallire su larga scala.

Occhio all’Outlook

Te l’ho anticipato nei primi collegamenti proposti in fase di apertura articolo. La “mail unione” è soggetta all’invio per mezzo del client di posta elettronica predefinito del sistema (nel mio caso Outlook), il quale utilizzerà a sua volta l’account predefinito di posta elettronica. Sono abbastanza sicuro che nel 99% dei casi quell’account sia proprio il tuo e non quello di gruppo destinato all’utilizzo da parte del team di lavoro. Per questo motivo dovrai prima creare un profilo separato di Outlook che abbia come unico (o almeno predefinito) account di posta elettronica quello della Shared Mailbox che intendi utilizzare come mittente.

Per farlo chiudi Outlook, vai nel Pannello di Controllo di Windows e cerca Mail o Posta elettronica tramite campo di ricerca (generalmente in alto a destra). Un clic su Mostra profili… e uno su Aggiungi. Inserisci descrizione e indirizzo di posta della casella condivisa, non specificare la password e fai clic su avanti. Sul prompt che comparirà a video potrai inserire le credenziali di posta della tua casella personale che ha i diritti di accesso a quella condivisa (trovi una spiegazione con immagini qui, seppur in inglese).

Salvo errori la configurazione terminerà con successo e tu potrai lanciare Outlook con il nuovo profilo (chiedi di specificare il profilo da utilizzare ogni volta che si avvia Outlook, nda), così facendo la “Mail unione” partirà dall’account desiderato.

Se tutto ti torna è il momento per inviare la comunicazione a tutti i destinatari previsti. Torna su Microsoft Word, fai nuovamente clic su Finalizza e unisciInvia messaggi…, assicurati che i conti tornino (campo email da usare, oggetto, ecc.) e fai partire l’invio selezionando la voce “Tutti” sotto Record. Noterai che Outlook inizierà a inviare una dopo l’altra l’email a ogni singolo destinatario.

Il lavoro è terminato. Ora puoi chiudere Outlook e tornare al tuo profilo personale. Dubbi? Domande? Qualcosa non ti torna? L’area commenti è a tua totale disposizione per discuterne insieme! 😉👌


immagine di copertina: unsplash.com / author: Johannes Plenio
Condividi l'articolo con i tuoi contatti:

Non è cosa che dovrebbe accadere così spesso, ma può succedere che ti serva eliminare una casella di posta “di troppo” senza però perderne il contenuto, da spostare su una diversa casella di posta che continuerà invece a funzionare. Fare l’operazione in maniera “manuale” spostando tutto tramite Outlook può essere davvero oneroso (in termini di tempo) e papabilmente disastroso (perché ci si può distrarre facilmente, non spostare del materiale e cancellare la casella troppo presto), meglio passare da qualcosa di più automatizzato e che possa facilmente sostituirti, PowerShell torna utile ancora una volta.

PowerShell e Office 365: recupero della posta cancellata 2

Merge delle caselle di posta su Exchange Online

Ti lascio un paio di riferimenti per iniziare a introdurre l’argomento:

Si parla di metodi manuali e di automatizzazione delle operazioni, che poi è la strada che ho scelto di percorrere.

Utilizza PowerShell

Stavolta non è merito mio, lo script esiste già e funziona correttamente, scritto e pubblicato da David Barrett (Microsoft) sul repository del colosso di Redmond: gallery.technet.microsoft.com/exchange/Merge-mailbox-folders-cf1e9576. Avrai bisogno di EWS e delle sue API (da installare localmente sul tuo PC: microsoft.com/en-us/download/details.aspx?id=35371), al resto penserà lo script, compresa l’attesa forzata quando le operazioni di spostamento dei contenuti da una casella di posta all’altra inizieranno a diventare numerose.

Del codice e del funzionamento dello script se ne parla in maniera abbastanza approfondita qui: code.msdn.microsoft.com/office/PowerShell-Merge-mailbox-e769c529. I parametri di base da conoscere sono – grosso modo – questi:

-SourceMailbox Serve a specificare la casella sorgente dalla quale copiare i dati.
-TargetMailbox Serve a specificare la casella di destinazione verso la quale copiare / spostare i dati.
-SourcePublicFolders Serve a specificare se copiare (dalla sorgente) le cartelle pubbliche.
-TargetPublicFolders Serve a specificare se copiare (sulla destinazione) le cartelle pubbliche.
-ProcessSubFolders Se utilizzato, lo script cercherà le email in tutte le cartelle e sottocartelle.
-CreateTargetFolder Se utilizzato, lo script ricreerà la struttura cartelle nella casella di destinazione (vale per le cartelle non esistenti).
-Delete Se utilizzato, lo script tenterà di cancellare le cartelle rimaste vuote nella casella di posta sorgente.
-Copy Se utilizzato, lo script copierà le email lasciando le originali nella casella di posta sorgente.
-Credential Il parametro accetta PSCredentials per l’autenticazione su Exchange (dovrai prima lanciare un Get-Credential). Il parametro non potrà essere utilizzato se hai l’autenticazione a due fattori attiva sul tuo account.
-OAuth Utilizza questo parametro per autenticarti con la Modern Authentication di Microsoft (necessaria se il tuo account è protetto da 2-Step Auth.).
-EwsUrl L’indirizzo dell’endpoint EWS. Se non specificato verrà cercato tramite autodiscover. Posso dirti che per Office 365 vale direttamente https://outlook.office365.com/EWS/Exchange.asmx

Di parametri in realtà ne esistono molti di più, ma per il mio specifico caso non ho avuto bisogno di null’altro, forse varrà la stessa cosa anche per te. In pratica ho potuto lanciare uno spostamento completo del contenuto di una casella all’altra in questa maniera:

Merge-MailboxFolder.ps1 -SourceMailbox sharedmailbox@contoso.onmicrosoft.com -TargetMailbox usermailbox@contoso.com -ProcessSubfolders -CreateTargetFolder -Delete -EwsUrl "https://outlook.office365.com/EWS/Exchange.asmx" -OAuth

Tutto il contenuto della Shared Mailbox confluirà all’interno della casella di posta dell’utente, finendo nelle medesime cartelle (quelle non esistenti verranno create) e non lasciando traccia sulla sorgente, dalla stessa verranno poi cancellate le cartelle vuote. Utilizzo l’autenticazione moderna di Microsoft per riuscire a passare indenne il check della 2-Step Auth., dando un OK sul mio dispositivo di conferma autenticazione. A questo punto lo script comincerà ad analizzare la casella sorgente e copierà / sposterà i dati verso la destinazione stabilita.

Office 365: unire più caselle di posta elettronica su Exchange Online 1

Non preoccuparti se di tanto in tanto vedi stuole di errori a video, le email stanno comunque muovendosi da un lato all’altro rispettando tempi e limiti del collegamento PowerShell con EWS, puoi nel frattempo svolgere un differente lavoro e tornare a controllare di tanto in tanto il merge.

Office 365: unire più caselle di posta elettronica su Exchange Online 2

Aggiungo che – sporadicamente – può capitare che delle cartelle in profondità (sottocartelle di ulteriori sottocartelle, per dire) non vengano immediatamente viste e fatte muovere, per questo motivo ti consiglio di:

  • tenere sempre aperta una finestra del browser puntandola all’interfaccia WebMail della casella sorgente (apri anche quella di destinazione, giusto per sicurezza).
  • Far girare più volte lo script fino a quando questo terminerà senza aver più trovato nulla.

Non dovrei aver dimenticato nulla. Nel caso in cui ci siano dubbi o tu avessi necessità di ulteriori informazioni non esitare a lasciare un commento.

Buon lavoro!

Condividi l'articolo con i tuoi contatti: