Tra pochi giorni c’è il “grande giorno”, migro la URL di un sito. Quindi è necessario creare tutte le regole di redirect, in modo che un visitatore vada sul nuovo indirizzo invece che il vecchio. Come fare però in modo veloce? Su Bloggersignal ho trovato uno snippet di codice php utilissimo.

Basta creare un file php nella directory del nostro sito Wordpress, dargli un nome a noi comodo (il classico pippo.php?) e inserire:

<?php

include "wp-load.php";

$posts = new WP_Query('post_type=any&posts_per_page=-1&post_status=publish');
$posts = $posts->posts;

header('Content-type:text/plain');
foreach($posts as $post) {
    switch ($post->post_type) {
        case 'revision':
        case 'nav_menu_item':
            break;
        case 'page':
            $permalink = get_page_link($post->ID);
            break;
        case 'post':
            $permalink = get_permalink($post->ID);
            break;
        case 'attachment':
            $permalink = get_attachment_link($post->ID);
            break;
        default:
            $permalink = get_post_permalink($post->ID);
            break;
    }
    echo "\n{$permalink}";
  //echo "\n{$post->post_type}\t{$permalink}\t{$post->post_title}";
}
?>

A questo punto andando su tuosito.it/pippo.php viene una lista completa di tutte le pagine dell’installazione di Wordpress!

Per esempio:

http://esempio.it/pagina1
http://esempio.it/pagina2
http://esempio.it/pagina3
http://esempio.it/pagina4

Poi dopo ho fatto una semplice sostituzione di testo, sostituire “http://esempio.it” con “Redirect 301 “ e quindi ho il file .htaccess quasi pronto per il trasferimento!

Ieri, dopo l’aumento dei prezzi che Mailgun effettuerà a fine maggio, ho migrato la gestione email del sito più grosso su Sendgrid. Dopo poche ore averlo configurato, torno sulla dashboard si sendgrid e vedo:

Reputazione: 75%

Huh? Ancora ho mandato pochissime email, com’è possibile? Vado a vedere i log e noto che ci sono spambot che abusano la funzionalità “condividi articolo via email” di Jetpack, su Wordpress!

In pratica, il plugin permette la condivisione dell’articolo via email, con un form fatto così:

Promozione San Valentino

ci sono tre caselle di testo, “tuo nome”, “email” e “email di amico”. Le email vengono inviate con il modello:

TUONOME (EMAIL) ti ha inviato questo articolo

il problema è che la casella di testo “tuo nome” accetta QUALSIASI CARATTERE!!! Quindi, gli spammer che fanno, inseriscono il loro messaggio, ci mettono un centinaio di “a capo”, e così inviano spam utilizzando i vostri server!

Per esempio lo spambot ha inserito come “suo nome”:

restrained dating.=0D=0ADating for vip persons. Webcam chat.=0D=0Ahttps:=
//phishing.link=0D=0A=0D=0A=0D=0A=0D=0A=
=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=
=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=
=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=
=0D=0A=0D=0A=0D=0A=0D=0A

0x0D 0x0A sarebbe un carattere di messa a capo.

È già stato aperto un bug report, ma non mi sembra che sia stato preso sul serio…

Per tutti i miei siti ho sempre pensato che il “fai da te” fosse la soluzione più veloce, flessibile, economica e performante. Quindi da anni ospito Dandandin e tutti gli altri siti su un mio server dedicato, pago un solo server, ospito siti illimitati.

E quindi già in passato avevo cercato il dominio più grezzo che c’è, per spendere il meno possibile, avere solo la registrazione, senza nemmeno il name server!

Poi oggi ho ricevuto questa email da Tophost:

Promozione San Valentino

che mi propone dominio e hosting a 12 euro… in pratica con 6 euro sopra al costo del dominio non mi dovrei più preoccupare di niente… email (ora, se non si vuole finire in SPAM, è sempre più difficile fare da sé), hosting, ecc…

Però essendo un servizio low cost, dovrei rinunciare a:

  • Cloudflare
  • La flessibilità di configurare il server come mi pare
  • Abbinare la stessa webapp a domini diversi… perfetto per domini multilingua tipo esempio.it e example.com
  • Fare backup frequenti via SSH e rsync

Quindi, l’offerta è allettante, chissà se ne vale la pena… ho due domini in scadenza ravvicinata, quasi quasi trasferisco… anche se uno di quelli utilizza una soluzione “stesso sito due domini” per la gestione multilingua… con un hosting tradizionale non sarebbe possibile e dovrei impazzire a fare regole di redirect su file .htaccess

Ho avuto a che fare con una immagine molto minimal di Debian e tutti i tool di sistema erano mancanti. Quindi scrivendo qualcosa di basilare come

ps aux

Mi veniva restituito l’errore

bash: ps: command not found

Questo strumento di sistema è contenuto nel package procps, che quindi si può installare con

apt install procps

Utilizzando Windows Server Core o PowerShell, spesso farebbe comodo utilizzare Nano, l’editor a riga di comando molto popolare in ambiente Linux. Su questo sito sono disponibili versioni molto recenti compilate per Windows, basta scaricarle e inserirle in una cartella con la path, che può essere sia creata da zero oppure già esistente

Io, per esempio l’ho inserito in

C:\Program Files\Docker\Docker\resources\bin

perché avevo già quel percorso nella PATH di Windows. Se usate Android Studio potreste metterlo insieme ai binari di adb, per esempio.

Funziona bene, con l’unico difetto che la dimensione del terminale è fissa e non può essere ridimensionata a piacere come su Linux