Vous cherchez un moyen de protéger votre site WordPress contre les requêtes d’URL malveillantes ? Bien qu’il existe probablement un plugin pour cela, nous avons créé un extrait de code rapide que vous pouvez utiliser pour protéger WordPress contre les demandes d’URL malveillantes dans WordPress.
Instructions:
Tout ce que vous avez à faire est d’ajouter ce code au fichier .htaccess de votre thème.
$request_uri = $_SERVER['REQUEST_URI']; $query_string = $_SERVER['QUERY_STRING']; $user_agent = $_SERVER['HTTP_USER_AGENT']; // request uri if ( //strlen($request_uri) > 255 || stripos($request_uri, 'eval(') || stripos($request_uri, 'CONCAT') || stripos($request_uri, 'UNION+SELECT') || stripos($request_uri, '(null)') || stripos($request_uri, 'base64_') || stripos($request_uri, '/localhost') || stripos($request_uri, '/pingserver') || stripos($request_uri, '/config.') || stripos($request_uri, '/wwwroot') || stripos($request_uri, '/makefile') || stripos($request_uri, 'crossdomain.') || stripos($request_uri, 'proc/self/environ') || stripos($request_uri, 'etc/passwd') || stripos($request_uri, '/https/') || stripos($request_uri, '/http/') || stripos($request_uri, '/ftp/') || stripos($request_uri, '/cgi/') || stripos($request_uri, '.cgi') || stripos($request_uri, '.exe') || stripos($request_uri, '.sql') || stripos($request_uri, '.ini') || stripos($request_uri, '.dll') || stripos($request_uri, '.asp') || stripos($request_uri, '.jsp') || stripos($request_uri, '/.bash') || stripos($request_uri, '/.git') || stripos($request_uri, '/.svn') || stripos($request_uri, '/.tar') || stripos($request_uri, ' ') || stripos($request_uri, '<') || stripos($request_uri, '>') || stripos($request_uri, '/=') || stripos($request_uri, '...') || stripos($request_uri, '+++') || stripos($request_uri, '://') || stripos($request_uri, '/&&') || // query strings stripos($query_string, '?') || stripos($query_string, ':') || stripos($query_string, '[') || stripos($query_string, ']') || stripos($query_string, '../') || stripos($query_string, '127.0.0.1') || stripos($query_string, 'loopback') || stripos($query_string, '%0A') || stripos($query_string, '%0D') || stripos($query_string, '%22') || stripos($query_string, '%27') || stripos($query_string, '%3C') || stripos($query_string, '%3E') || stripos($query_string, '%00') || stripos($query_string, '%2e%2e') || stripos($query_string, 'union') || stripos($query_string, 'input_file') || stripos($query_string, 'execute') || stripos($query_string, 'mosconfig') || stripos($query_string, 'environ') || //stripos($query_string, 'scanner') || stripos($query_string, 'path=.') || stripos($query_string, 'mod=.') || // user agents stripos($user_agent, 'binlar') || stripos($user_agent, 'casper') || stripos($user_agent, 'cmswor') || stripos($user_agent, 'diavol') || stripos($user_agent, 'dotbot') || stripos($user_agent, 'finder') || stripos($user_agent, 'flicky') || stripos($user_agent, 'libwww') || stripos($user_agent, 'nutch') || stripos($user_agent, 'planet') || stripos($user_agent, 'purebot') || stripos($user_agent, 'pycurl') || stripos($user_agent, 'skygrid') || stripos($user_agent, 'sucker') || stripos($user_agent, 'turnit') || stripos($user_agent, 'vikspi') || stripos($user_agent, 'zmeu') ) { @header('HTTP/1.1 403 Forbidden'); @header('Status: 403 Forbidden'); @header('Connection: Close'); @exit; }
Note : Si c’est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez vous référer à notre guide sur la façon de copier/coller correctement des extraits de code dans WordPress, afin de ne pas casser accidentellement votre site.
Si vous avez aimé cet extrait de code, n’hésitez pas à consulter nos autres articles sur le site comme : 18 meilleurs plugins de commentaires WordPress et comment créer un formulaire popup dans WordPress.
thanks
He Kevin, is this the same stuff what Secure WordPress (http://wordpress.org/extend/plugins/secure-wordpress/) does, see list item 11?
User levels were deprecated in WP 3.0, you should use actual capabilities or roles in your current_user_can check, e.g.
if ( ! current_user_can( 'administrator' ) ) {
Very true Drew, ill update the snippet thanks!
Can I just add this code to my functions.php plugin?
I’d also like to see code for POST protection.
the best way to include this I find it to place it within the mu-plugins/ folder if you don’t have one you can create one. This will force the plugin to run as a must use plugin. Download the zip above that is the best way to run it,
This will only protect a GET request, like index.php?name=eval(base64_decode(EVIL+CODE
But in the WordPress Forum a lot of people are getting hacked via Post requests, and then this code will not protect.
Do you have something similar but for POST?