Nelle richieste HTTP passate a WordPress possono annidarsi molte insidie, compresi dei tentativi di exploit ai danni del nostro sito. Possiamo tuttavia cercare di limitare tali richieste. Vediamo come fare.
Possiamo creare il seguente plugin:
<?php
/*
Plugin Name: Block Bad Queries
Plugin URI: http://sito.com/
Description: Protect WordPress Against Malicious URL Requests
Author URI: http://sito.com/
Author: Nome Cognome
Version: 1.0
*/
global $user_ID; if($user_ID) {
if(!current_user_can('level_10')) {
if (strlen($_SERVER['REQUEST_URI']) > 255 ||
stripos($_SERVER['REQUEST_URI'], "eval(") ||
stripos($_SERVER['REQUEST_URI'], "CONCAT") ||
stripos($_SERVER['REQUEST_URI'], "UNION+SELECT") ||
stripos($_SERVER['REQUEST_URI'], "base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
}
}
?>
Il plugin può essere usato come un qualsiasi altro plugin. Controlla la lunghezza dell'URL e la presenza di stringhe sospette.