Crea un archivo de nombre blockbadqueries.php y copia el siguiente código:
<?php
/*
Plugin Name: Block Bad Queries
Plugin URI: http://perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests/
Description: Protect WordPress Against Malicious URL Requests
Author URI: http://perishablepress.com/
Author: Perishable Press
Version: 1.0
*/
global $user_ID; if($user_ID) {
if(!current_user_can('level_10')) {
if (strlen($_SERVER['REQUEST_URI']) > 255 ||
strpos($_SERVER['REQUEST_URI'], "eval(") ||
strpos($_SERVER['REQUEST_URI'], "CONCAT") ||
strpos($_SERVER['REQUEST_URI'], "UNION+SELECT") ||
strpos($_SERVER['REQUEST_URI'], "base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
}
}
?>
Luego sube el archivo al directorio wp-content/plugins y activa el plugin.
Fuente: WordPress plugin: Protect your blog from malicious URL Requests
Puede ser difícil saber que directorios restringir y cuales permitir a los motores de búsquedas. Esta es una pequeña guía de referencia de robots.txt para los CMS mas populares.
Dependiendo del CMS que estés utilizando, todo lo que tienes que hacer es copiar el texto en un archivo robots.txt y subirlo a tu servidor.
Leer más »
Se recomienda actualizar WordPress a la versión 2.9.2. Elimina el problema en el que un usuario registrado como autor, pueda ver los artículos en papelera de otros.
Fuente: WordPress Blog
Cada vez que se define una entrada específica sea como privada o protegida por contraseña, WordPress agrega automáticamente “privado” o “protegida” al título de la entrada. Para eliminarlo, solo debe agregar el siguiente código al archivo functions.php:
function the_title_trim($title) {
$title = attribute_escape($title);
$findthese = array(
'#Protected:#',
'#Private:#'
);
$replacewith = array(
'', // What to replace "Protected:" with
'' // What to replace "Private:" with
);
$title = preg_replace($findthese, $replacewith, $title);
return $title;
}
add_filter('the_title', 'the_title_trim');
Fuente: wprecipes
Ya está disponible la nueva versión de WordPress para iPhone con 3 importantes mejoras:
- Responder a comentarios
- Edición de comentarios
- Resaltado de comentarios pendientes
Copia el siguiente código y pégalo en el archivo functions.php de tu tema. Una vez que guardes el archivo de archivo, el atributo rel = "nofollow" será eliminado.
function remove_nofollow($string) {
$string = str_ireplace(' rel="nofollow"', '', $string);
return $string;
}
add_filter('the_content', 'remove_nofollow');
Vía: WpRecipes
Agrega el siguiente código a tu archivo functions.php
function in_comment_post_like($string, $array) {
foreach($array as $ref) { if(strstr($string, $ref)) { return true; } }
return false;
}
function drop_bad_comments() {
if (!empty($_POST['comment'])) {
$post_comment_content = $_POST['comment'];
$lower_case_comment = strtolower($_POST['comment']);
$bad_comment_content = array(
'viagra',
'hydrocodone',
'hair loss',
'[url=http',
'[link=http',
'xanax',
'tramadol',
'russian girls',
'russian brides',
'lorazepam',
'adderall',
'dexadrine',
'no prescription',
'oxycontin',
'without a prescription',
'sex pics',
'family incest',
'online casinos',
'online dating',
'cialis',
'best forex',
'amoxicillin'
);
if (in_comment_post_like($lower_case_comment, $bad_comment_content)) {
$comment_box_text = wordwrap(trim($post_comment_content), 80, "\n ", true);
$txtdrop = fopen('/var/log/httpd/wp_post-logger/nullamatix.com-text-area_dropped.txt', 'a');
fwrite($txtdrop, " --------------\n [COMMENT] = " . $post_comment_content . "\n --------------\n");
fwrite($txtdrop, " [SOURCE_IP] = " . $_SERVER['REMOTE_ADDR'] . " @ " . date("F j, Y, g:i a") . "\n");
fwrite($txtdrop, " [USERAGENT] = " . $_SERVER['HTTP_USER_AGENT'] . "\n");
fwrite($txtdrop, " [REFERER ] = " . $_SERVER['HTTP_REFERER'] . "\n");
fwrite($txtdrop, " [FILE_NAME] = " . $_SERVER['SCRIPT_NAME'] . " - [REQ_URI] = " . $_SERVER['REQUEST_URI'] . "\n");
fwrite($txtdrop, '--------------**********------------------'."\n");
header("HTTP/1.1 406 Not Acceptable");
header("Status: 406 Not Acceptable");
header("Connection: Close");
wp_die( __('bang bang.') );
}
}
}
add_action('init', 'drop_bad_comments');
Nota: Si usas el plugin Antivirus, la siguiente línea de código se va a mostrar como sospechosa:
$txtdrop = fopen('/var/log/httpd/wp_post-logger/nullamatix.com-text-area_dropped.txt', 'a');
Vía: WpRecipes
Copia el siguiente código en tu archivo functions.php
if( !is_admin()){
wp_deregister_script('jquery');
wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"), false, '');
wp_enqueue_script('jquery');
}
Vía: Sean Hayes
Se utiliza un Error 301 cuando la URL cambia, para que:
- Los visitantes vean la nueva dirección.
- Los buscadores actualicen a tu nueva dirección.
- Evitar contenido duplicado en la red.
Métodos
Mediante un fichero .htaccess
Redirect permanent / http://nuevaurl
Redirección completa
RewriteEngine on
RewriteCond %{HTTP_HOST} !^nuevaurl.com$ [NC]
RewriteRule ^(.*)$ http://nuevaurl.com/$1 [R=301,L]
Mediante el uso de PHP
<?php
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://nuevaurl" );
?>