programmazione

WordPress – Creare un Widget

Wordpress – Creare un Widget

1. Creare una Site Specific PlugIn

Creare il file php ‘yoursitename-plugin.php’ in:
blog/wp-content/plugins/yoursitename-plugin/yoursitename-plugin.php

Il codice:


<?php
/*
Plugin Name: Luce Digitale - Widget Sample 
Description: Un esempio di Widget personalizzato.
*/

/* Start Adding Functions Below this Line */

// Creating the widget 
class wpb_widget extends WP_Widget {

function __construct() {
parent::__construct(
// Base ID of your widget
'wpb_widget', 

// Widget name will appear in UI
__('Sample Luce Digitale Widget', 'wpb_widget_domain'), 

// Widget description
array( 'description' => __( 'Sample Luce Digitale widget', 'wpb_widget_domain' ), ) 
);
}

// Creating widget front-end
// This is where the action happens
public function widget( $args, $instance ) {
$title = apply_filters( 'widget_title', $instance['title'] );
// before and after widget arguments are defined by themes
echo $args['before_widget'];
if ( ! empty( $title ) )
echo $args['before_title'] . $title . $args['after_title'];

// This is where you run the code and display the output
echo __( 'Hello, World!', 'wpb_widget_domain' );
echo $args['after_widget'];
}
		
// Widget Backend 
public function form( $instance ) {
if ( isset( $instance[ 'title' ] ) ) {
$title = $instance[ 'title' ];
}
else {
$title = __( 'New title', 'wpb_widget_domain' );
}
// Widget admin form
?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label> 
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
</p>
<?php 
}
	
// Updating widget replacing old instances with new
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
return $instance;
}
} // Class wpb_widget ends here

// Register and load the widget
function wpb_load_widget() {
	register_widget( 'wpb_widget' );
}
add_action( 'widgets_init', 'wpb_load_widget' );
 
/* Stop Adding Functions Below this Line */
?>

Attivare:

COLONNA SINISTRA> PlugIns> ‘Luce Digitale – Widget Sample’> Activate

COLONNA SINISTRA> Aspetto> Widgets> ‘Sample Luce Digitale Widget’ inserire il Widget nell’interfaccia

Warning Messages

Dopo l’attivazione della plugin può essere restituito il seguente errore:

The plugin generated xxx characters of unexpected output during activation

Questo succede se si lasciano delle righe bianche in testa al file php, prima del tag ‘

By |Web Design, WordPress|Commenti disabilitati su WordPress – Creare un Widget

WordPress – MySQL Snippets – Super Utili

WordPress – MySQL Snippets – Super Utili

Una pratica molto professionale consiste nell’accedere e modificare direttamente i dati nel Database di WordPress utilizzando i comandi di MySQL.
Il modo più facile per utilizzare i comandi MySQL è farlo da phpMyAdmin.


# Change Siteurl & Homeurl
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com') WHERE option_name = 'home' OR option_name = 'siteurl';

# Change GUID
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');

# Change URL in Content
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');

# Change Image Path Only
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://www.oldsiteurl.com', 'src="http://yourcdn.newsiteurl.com');
UPDATE wp_posts SET  guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://yourcdn.newsiteurl.com') WHERE post_type = 'attachment';

# Update Post Meta
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.oldsiteurl.com','http://www.newsiteurl.com');

# Change Default "Admin" Username
UPDATE wp_users SET user_login = 'Your New Username' WHERE user_login = 'Admin';

# Reset Password
UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'your-username';

# Assign all articles by Author B to Author A
UPDATE wp_posts SET post_author = 'new-author-id' WHERE post_author = 'old-author-id';

# Delete Revision
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision'

# Delete Post Meta
DELETE FROM wp_postmeta WHERE meta_key = 'your-meta-key';

# Export all Comment Emails with no Duplicate
SELECT DISTINCT comment_author_email FROM wp_comments;

# Delete all Pingbacks
DELETE FROM wp_comments WHERE comment_type = 'pingback';

# Delete all Spam Comments
DELETE FROM wp_comments WHERE comment_approved = 'spam';
#     * 0 = Comment Awaiting Moderation
#     * 1 = Approved Comment
#     * spam = Comment marked as Spam

# Identify Unused Tags
SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0;

By |MySQL, Web Design, WordPress|Commenti disabilitati su WordPress – MySQL Snippets – Super Utili

WordPress – Creare un Template – Base

Wordpress – Creare un Template – Base

Creare un template:
scrivere il file mytemplate.php:

<?php
/*
Template Name: Cool Home Page
*/
echo 'Hello World!';
?>

Copiare mytemplate.php all’interno di /blog/wp-content/themes/mytheme

Per assegnare il template ad una pagina:
wp-admin> COLONNA DI SINISTRA> Pagine> selezionare una pagina> COLONNA DI DESTRA> Attributi pagina> Modello> ‘Cool Home page’

NOTA BENE:

Template Name: Cool Home Page

Questo è il nome che ritroveremo all’interno di wp-admin al momento dell’assegnazione del template!

By |Web Design, WordPress|Commenti disabilitati su WordPress – Creare un Template – Base

WordPress – Rimuovere dei Menu in Admin Panel

WordPress – Rimuovere dei Menu in Admin Panel

A volte è necessario, per motivi di sicurezza o praticità d’uso, nascondere alcuni menù dal pannello di Admin di WordPress.

Aprire blog/wp-content/themes/mytheme/functions.php

Aggiungere le righe:


// Remove Admin Menu Pages
add_action( 'admin_menu', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
    remove_menu_page('options-general.php');  
}

NOTA BENE:

remove_menu_page('options-general.php');

‘options-general.php’ farà sparire il menù ‘Settings’

Per reperire il nome del menù da eliminare aprire wp-admin> COLONNA SINISTRA> posizionarsi con il cursore del mouse sopra al menù da eliminare per vedere dove punta il link.

By |Web Design, WordPress|Commenti disabilitati su WordPress – Rimuovere dei Menu in Admin Panel

WordPress – Sicurezza

WordPress – Sicurezza

Quando si parla di sicurezza sul web, non si intende la possibilità di realizzare una sicurezza totale del proprio web server o della propria applicazione web, ma di ottenere un livello di sicurezza accettabile in base all’importanza dei dati che dovremmo gestire.

Un esempio banale è la differenza che c’è tra garantire un livello sufficiente di sicurezza del sito web di un istituto bancario, e quello che basta al proprio blog personale. Ovviamente proteggere i dati delle carte di credito o dei conti correnti richiede molta più attenzione rispetto al voler proteggere dati che non sono sensibili.

La sicurezza possiamo ripartirla su due livelli:

1. Il server che ospita la nostra installazione WordPress

2. La nostra installazione WordPress

Un hacker potrebbe penetrare sfruttando delle falle del nostro fornitore di hosting, in questo caso potremo fare ben poco, se non cambiare fornitore… oppure sfruttare dei ‘buchi’ nella nostra installazione WordPress, in questo caso è nostro compito cercare di mantenerla il più sicuro possibile.

Gli attacchi più comuni attacchi ad un Blog WordPress sono:

1. Attacco Brute-Force per ottenere i dati di accesso, si tratta di una serie di tentativi al fine di trovare la giusta combinazione user/password per entrare in wp-admin

2. Inviare delle speciali ‘HTTP requests’ richieste in HTTP per sfruttare vulnerabilità specifiche.

Ecco alcune precauzioni che dovremo prendere:

Accesso sFTP

Per uplodare i file non utilizzare un normale software di FTP perchè i dati di accesso possono essere facilmente intercettati, utilizzare invece un software di sFTP (secure FTP), come ad esempio l’ottimo BitWise. In sFTP i dati vengono inviati criptati.

Hosting – HTTPS – SSL

– Non utilizzare ‘shared ID’ ma acquistare un IP proprietario

– Acquistare un certificato HTTPS SSL, che farà transitare ogni dato in forma criptata

Installazione

– Installare sempre l’ultima versione stabile deo software (stable realise)

– Selezionare al momento dell’installazine di WordPress una password sicura, la migliore combinazione è costituita di numeri+lettere+simboli speciali ed essere lunga almeno 10 caratteri ad esempio ‘raven%8090’

– Gestire correttamente i permessi di lettura-scrittura delle cartelle di WordPress, in particolare, riporto come scritto nella documentazione ufficiale:

/
The root WordPress directory: all files should be writable only by your user account, except .htaccess if you want WordPress to automatically generate rewrite rules for you.

/wp-admin/
The WordPress administration area: all files should be writable only by your user account.

/wp-includes/
The bulk of WordPress application logic: all files should be writable only by your user account.

/wp-content/
User-supplied content: intended to be writable by your user account and the web server process.

Within /wp-content/ you will find:

/wp-content/themes/
Theme files. If you want to use the built-in theme editor, all files need to be writable by the web server process. If you do not want to use the built-in theme editor, all files can be writable only by your user account.

/wp-content/plugins/
Plugin files: all files should be writable only by your user account.

Database

– se si amministrano più blog sullo stesso server, assegnare database diversi per ogni blog così in caso di intrusione all’interno di un blog non rischieremo che vengano compromessi anche gli altri.

– per le normali operazioni di WordPress gli accessi al DataBase necessitano solamente dei seguenti permessi: SELECT, INSERT, UPDATE and DELETE
Rimuovere il permesso per: DROP, ALTER, GRANT (attenzione che potrebbe essere necessario riattivarli temporaneamente per installare delle pluigin o dei temi)

Accessi degli utenti

– limitare i punti di accesso da parte di utenti esterni, limitare cioè form per raccolta dati, sondaggi etc… soprattutto se non sono strettamente necessari

– limitare l’installazione di plugin di terze parti, soprattutto se di dubbia provenienza o alla prima revisione

wp-admin/wp-login.php

– Nell’accesso al wp-admin installare un sistema di Captcha, questo limita le potenzialità di un attacco i Brute-Force Attack

– Proteggere l’accesso alla cartella wp-admin con l’utilizzo di .htaccess

Se usate CPanel:

1. Accedere a CPanel> Security> Directory Password> Selezionare la directory wp-admin> attivare l’accesso con password

PERICOLO! A questo punto alcune plugin potrebbero non funzionare correttamente!

2. Le plugin di WordPress dovranno accedere liberamente a /wp-admin/admin-ajax.php, per questo al file .htaccess installato in blog/wp-admin aggiungere questa eccezzione e limitare l’autenticazione a wp-login.php, il file finale risulterà simile a:

# Allow plugin access to admin-ajax.php around password protection
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>

<FilesMatch "wp-login.php">
AuthType Basic
AuthName "Secure Area"
AuthUserFile "/home/example/.htpasswds/public_html/wp-admin/passwd"
require valid-user
</FilesMatch>

– Bloccare i ‘badbots’. I ‘batbots’ sono degli spider maligni che ignorano i parametri di robot.txt e che vanno a leggere anche le cartelle che abbiamo chiesto di ignorare all’interno di robot.txt. I ‘badbots’ sono anche i programmi di download automatico quali ‘GetRight’.

1. Create nella vostra root, solitamente www/, un file .htaccess, con la lista dei badbots più famosi:


#BAD BOTS protection START 
RewriteEngine On 
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR] 
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR] 
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR] 
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR] 
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR] 
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR] 
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR] 
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR] 
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR] 
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR] 
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR] 
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR] 
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR] 
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR] 
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR] 
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR] 
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR] 
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR] 
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR] 
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR] 
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR] 
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR] 
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR] 
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR] 
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR] 
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR] 
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR] 
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR] 
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR] 
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR] 
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR] 
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Zeus 
RewriteRule ^.* - [F,L]
#BAD BOTS protection END 

I badbots che entreranno riceveranno un errore ‘403 Forbidden’

– Modificare il ‘Login Form’ di Worpress con del codice aggiuntivo php

Sicurezza di wp-includes

Con questa modifica si impedirà la modifica degli script essenziali di WP dall’esterno:

Scaricare da blog/.htaccess, il codice che troveremo sarà:

RewriteEngine on



# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /blog/

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /blog/index.php [L]

</IfModule>



# END WordPress

RewriteCond %{HTTP_HOST} ^blog\.lucedigitale\.com$ [OR]

RewriteCond %{HTTP_HOST} ^www\.blog\.lucedigitale\.com$

RewriteRule ^/?$ "http\:\/\/www\.lucedigitale\.com\/blog\/" [R=301,L]

Aggiungere le righe all’infuori di # BEGIN WordPress

# END WordPress
, altrimenti saranno sovrascritti:

PERICOLO! Questa modifica potrebbe portare al mulfunzionamento in caso di un setup multisito!

# Block the include-only files START
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
# Block the include-only files END

RewriteEngine on



# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /blog/

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /blog/index.php [L]

</IfModule>



# END WordPress

RewriteCond %{HTTP_HOST} ^blog\.lucedigitale\.com$ [OR]

RewriteCond %{HTTP_HOST} ^www\.blog\.lucedigitale\.com$

RewriteRule ^/?$ "http\:\/\/www\.lucedigitale\.com\/blog\/" [R=301,L]

Sicurezza di wp-config.php

Con questa modifica sarà impossibile da web accedere a wp-config.php che contiene i file di configurazione di WP, inclusi i dati di accesso al Database.

Scaricare da blog/.htaccess, il codice che troveremo sarà:

RewriteEngine on



# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /blog/

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /blog/index.php [L]

</IfModule>



# END WordPress

RewriteCond %{HTTP_HOST} ^blog\.lucedigitale\.com$ [OR]

RewriteCond %{HTTP_HOST} ^www\.blog\.lucedigitale\.com$

RewriteRule ^/?$ "http\:\/\/www\.lucedigitale\.com\/blog\/" [R=301,L]

In testa aggiungere il codice:

# Hide wp-config.php START
<files wp-config.php>
order allow,deny
deny from all
</files>
# Hide wp-config.php END

RewriteEngine on



# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /blog/

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /blog/index.php [L]

</IfModule>



# END WordPress

RewriteCond %{HTTP_HOST} ^blog\.lucedigitale\.com$ [OR]

RewriteCond %{HTTP_HOST} ^www\.blog\.lucedigitale\.com$

RewriteRule ^/?$ "http\:\/\/www\.lucedigitale\.com\/blog\/" [R=301,L]

Ora se digitiamo sul browser blog/wp-config.php otterremo un errore ‘403 Permission Denied’

WordPress Dashboard

Con questa modifica togliamo i permessi alla DashBoard di editare i file, a tutti gli utenti, amministratore compreso.

Aprire blog/wp-config.php

ed aggiungere in testa:

define('DISALLOW_FILE_EDIT', true);

ATTENZIONE, questa riga equivale a rimuovere la capacità di editare da parte di ‘edit_themes’, ‘edit_plugins’ and ‘edit_files’. Può risultare disagevole durante la manutenzione del blog!

Installare PlugIn WordPress per la sicurezza

Per WordPress sono disponibili innumerevoli plugins con antivirus e firewall incorporati, effettuate una ricerca su Google con le keyword: ‘Top 10 Essential WordPress Security Plug-ins’.

ATTENZIONE! Le plugin per la sicurezza potrebbero inibire il funzionamento degli aggiornamenti, di altri plugins, rallentare la visualizzazione delle pagine, far lievitare rapidamente i dati contenuti nel database.

MySQL

– Rinominare l’utente admin creato di default e sostituirlo con uno nuovo.
Si può fare ciò:
a. da phpMyAdmin
OPPURE
b. con il comando MySQL:

UPDATE wp_users SET user_login = 'newuser' WHERE user_login = 'admin';, or by using a MySQL frontend like phpMyAdmin. 

– Cambiare il prefisso delle tabelle WordPress del database, che di default è di tipo: ‘wp_tablename’
PERICOLO! Questa operazione può causare la perdita di tutti dati!

Eliminare le informazioni di versione

Eliminare le informazioni sulla versione fornisce meno indicazioni agli hacker, quindi migliora la protezione del nostro sito.

– Eliminare o rinominare il file blog/readme.html che contiene le informazioni sulla versione

– Eliminare dall’header pagine html dei temi installati, TUTTI I TEMI INSTALLATI, la riga:

<meta name="generator" content="WordPress 3.5.2" />

o semplicemente rinominare le cartelle che contengono i temi di default

Copiare in fondo a: blog/wp-content/themes/yourtheme/functions.php

il seguente codice:

// hide the meta tag generator from head and rss START
function disable_version() {
   return '';
}
add_filter('the_generator','disable_version');
remove_action('wp_head', 'wp_generator');
// hide the meta tag generator from head and rss END

Nasconderà il ‘meta tag name’ che riporta la versione di WordPress.

By |Web Design, WordPress|Commenti disabilitati su WordPress – Sicurezza