no-comments-spam

No más comentarios SPAM en WordPress

Actualmente administro varias páginas y blogs creados en WordPress y no es muy divertido recibir cientos de comentarios spam y tener que estar eliminandolos, estuve buscando varias soluciones, entre ellas plugins que agregan captchas al formulario de comentarios lo cual no resulto demasiado efectivo ya que aún así se saltaban la protección y ademas es molesto para el lector.

Finalmente en un comentario de un blog encontre una solución que me ha funcionado muy bien, la cual consiste en algunas funciones que tenemos que agregar al final del archivo functions.php que se encuentra dentro del tema que tengamos activo.

//---------------------------------------
//      Spam Comments Checker
//---------------------------------------
function get_the_user_ip() {
    if ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
    //check ip from share internet
    $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
    //to check ip is pass from proxy
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
    $ip = $_SERVER['REMOTE_ADDR'];
    }
    return apply_filters( 'dm_get_ip', $ip );
}

function preprocess_new_comment($commentdata) {
    $userIdesntity = md5( get_the_user_ip().time() );
    if( !isset( $_POST['is_valid_comment'] ) && trim( $_POST['is_valid_comment'] )== $userIdesntity ) {
        die( 'You are bullshit' );
    }
    return $commentdata;
}

if( function_exists( 'add_action' ) ) {
    add_action( 'preprocess_comment', 'preprocess_new_comment' );
    add_action( 'comment_form_after', 'comment_spam_prevention', 20 );
    
}

function comment_spam_prevention(){
    $userIdesntity = md5(get_the_user_ip().time());
    ?>
    <script type="text/javascript">
    var cForm = jQuery('.comment-form');
    
    cForm.find('input[type=submit]').on('click', function(e){
        e.preventDefault();
        jQuery.ajax({
            url: cForm.attr('action') + '?' + cForm.serialize() + '&is_valid_comment=',
            method: 'post'
        }).done(function( data ) {
        })
        .fail(function() {
            alert( "error" );
        });
    });
    </script>
    <?php    
}

//---------------------------------------
//      EOF Spam Comments Checker
//---------------------------------------

Nota: Es necesario que se encuentre jQuery activado en el tema.

Read More

htaccess_hide_files

Evitar listado de archivos y directorios con .htaccess

En un servidor Web cuando creamos un directorio y dentro de el no existe el archivo index.*  (Ya sea .php, .html o algún tipo de archivo que pueda indexar nuestro servidor) se muestra el contenido de archivos y directorios que contiene, para evitar que esto ocurra simplemente podemos crear un archivo llamado index.html sin contenido y colocarlo en el directorio que necesitamos no se muestre su contenido o bien podemos agregar las siguientes lineas en un archivo .htaccess, si ya existe solo agregar el codigo, si no existe crear el archivo.

Show Index Sample

Ocultar archivos y directorios:


Options -Indexes

Ignonar y ocultar unicamente las extensiones .html, .php:


IndexIgnore *.html *.php

Permitir unicamente ver directorios:


IndexIgnore *

Este procedimiento solo funciona con servidores Apache y es necesario que este activado el modulo mod_rewrite

Read More

Respaldo manual de archivos en Mac OS

El respaldo manual de archivos en Mac OS es necesario realizarlo principalmente cuando vas a restaurar o instalar una versión nueva del sistema operativo y no quieres arrastrar archivos innesarios para tener tu sistema mas limpio y puro, en este tema nos enfocaremos a respaldar el contenido de las siguientes aplicaciones:

  1. Contenido de iTunes
  2. Contenido de iPhoto
  3. Contenido de iMovie
  4. Contenido de Firefox
  5. Contenido de Chrome
  6. Contenido de Libreta de Direcciones

Respaldar contenido de iTunes

Todo el contenido de iTunes incluyendo aplicaciones (.ipa) para iPhone/iPad/iPod, Libros, etc. se encuentran dentro del siguiente directorio:

~/Music/iTunes

(El simbolo ~ significa que es tu directorio home en mi caso es /Users/Antonio/Music/iTunes)

Para respaldar solamente copiar todo el directorio iTunes.

Este método de respaldo en iTunes es funcional cuando la opción de “Copiar los archivos al directorio de iTunes media cuando sean agregados a la biblioteca” esta activado, puedes comprobar esta opción en iTunes > Preferencias > Avanzada, si no tienes esta opción activada, toda tu música se encuentra en el directorio original donde tengas cada archivo mp3, y lo único que guarda iTunes es la ruta en donde se encuentra cada archivo (si no esta activa tu biblioteca de música no se encuentra en este directorio).

Para mas información detallada puedes visitar este enlace.

Para restaurar solamente copia el directorio iTunes respaldado a la misma ruta que es ~/Music. Inicia iTunes mientras mantienes presionada la tecla Option (Opción), en la ventana emergente has clic en  el botón Seleccionar Biblioteca y seleccionas el directorio que recién copiaste.

Respaldar contenido de iPhoto

Para guardar todo el contenido de iPhoto solo tienes que respaldar el directorio iPhoto Library que se encuentra en esta ruta

~/Pictures

Para restaurar copia todo el contenido nuevamente a ese directorio, cuando inicies iPhoto te preguntara la biblioteca que usaras. Si no te pregunta intenta iniciando iPhoto mientras presionas la tecla Option (Opción).

iphoto_library

Respaldar contenido de iMovie

Deberas respaldar todo el directorio de

~/Movies

Para restaurar regresa el contenido del respaldo a ese directorio.

Respaldar contenido de Firefox

Para respaldar esta aplicación vamos a instalar el Plugin Febe para Firefox, una vez instalado tendremos que configurar en el Menu Herramientas->Febe->Opciones los datos que deseamos respaldar, para realizar un respaldo completo, en la primer pestaña (Que Respaldar) seleccionamos Perfil Completo, Seleccionamos Temas, Extensiones y Todos los Items adicionales.

En la segunda pestaña tenemos que poner la ruta donde vamos a guardar el respaldo, adicionalmente tenemos la opción de que automaticamente cree un directorio con la fecha en que se realiza el respaldo y tambien la opción de limpiar el directorio en caso de que ya contenga un respaldo.

Una vez configuradas estas opciones procedemos con el respaldo, Herramientas > Febe > Realizar Copia de Seguridad.

Posteriormente respaldamos la carpeta completa donde se realizo el respaldo.

Para restaurar instala Firefox, iniciar y cerrar para que cree el perfil Default

  • Inicia Firefox desde el terminal con este comando: /Applications/Firefox.app/Contents/MacOS/firefox-bin -p
  • Crea un perfil nuevo con el nombre que desees
  • Instala el plugin Febe, te pedira que se reinicie Firefox
  • Ve a Herramientas > Febe > Restaurar Perfil
  • Selecciona default
  • Clic en el botón Seleccionar respaldo local para restaurar
  • Selecciona el archivo de respaldo que tendra extensión .fbu
  • Clic en el botón Iniciar restauración del perfil
  • Cerrar Firefox
  • Iniciar nuevamente Firefox con el comando -p que utilizamos antes
  • Borrar el perfil temporal que creamos e iniciar con el perfil default.

Respaldar contenido de Chrome

Para respaldar Chrome solo tenemos que guardar este directorio

~/Library/”Application Support”/Google/Chrome/Default

Para restaurar iniciamos Chrome para que se cree el perfil Default y cerramos. Luego regresamos el contenido del directorio Default a su ruta nuevamente.

Respaldar libreta de direcciones

Opcion 1

Abrir Libreta de Direcciones, Seleccionar en el Menu Archivo > Exportar > Archivo de Libreta de Direcciones, y guardar el archivo generado.

Opcion 2

Respaldar el siguiente directorio

~/Library/”Application Support”/AddressBook

Restauración Opcion 1: Para restaurar importamos el archivo que se exporto.

Restauración Opcion 2: Copiamos todo el contenido del directorio AddressBook que respaldamos a la ruta nuevamente.

Read More

configuraciones-extra-wordpress

Configuraciones extra en WordPress

WordPress es uno de los administradores de contenido mas populares, pero para quienes somos principiantes desconocemos algunas configuraciones extras que se pueden aplicar, en este apartado se explican algunas cambios y configuraciones que nos resultan bastante utiles.

Opciones de WordPress

Pagina de inicio personalizada

WordPress por default muestra en la pagina de inicio las publicaciones que se han echo, si deseamos que se muestre otro contenido como una pagina de las que hemos creados es muy simple solo hay que ir a Configuración > Lectura y seleccionamos si deseamos que la pagina de inicio sea un Post o una Pagina.

custom_frontpage

Permalinks (Enlances permanentes)

Por default wordpress nos muestra la siguiente estructura www.yoursite.com/?p=123 en las URL, pero este formato no es muy amigable y mucho menos para los robots de Google. Tu puedes cambiar la configuración de Permalinks a travez del menu Settings > Permalinks.

Una estructura muy común es la siguiente:


/%category%/%postname%/

Esta estructura me daria una URL con el formato siguiente: http://www.yoursite.com/comida-italiana/preparacion-de-pizza.html

wordpress-permalinks

En versiones recientes de WordPress automaticamente se crea el archivo .htaccess que contiene el codigo necesario para poder dar la forma a la URL, en caso de que no se pueda generar ese archivo automaticamente, nos proporciona el codigo para crearlo manualmente y subirlo al servidor, cabe mencionar que el servidor debe tener activo el modulo mod_rewrite

Campos Personalizados

Los campos personalizados nos permiten agregar variables extras para cada una de las publicaciones o post, por ejemplo si necesitamos almacenar una dirección, una ruta de una imagen o cualquier cosa que se nos ocurra.

Comprobamos que esta visible la opción para agregar los campos:

show_custom_field

Agregamos el campo personalizado:

custom_fields

Para obtener el valor de los campos se implementa el siguiente código:


$address = get_post_meta($post->ID, 'direccion', true);

Tip: Los campos personalizados que agregemos están disponibles para su uso en cada publicación.

Crear una plantilla para pagina

Muchas de las veces queremos que la forma y estructura de nuestro Home sea diferente a todas las demás pagina o que se muestre cierto tipo de información extra, por ejemplo un slider o alguna otra cosa, en versiones actuales es muy simple crear esto pero puede depender de la capacidad del tema que estemos manejando, para este ejemplo estoy manejando el tema Twenty Twelve pero si tu tema es actual no creo que tenga algún problema.

Dentro del directorio de nuestro tema debemos encontrar el directorio page-templates en el cual se colocaran cualquier plantilla que vallamos creando, de inicio existen ya algunos como front-page o full-width en donde front-page es la plantilla para la pagina de inicio y full-width es una plantilla para mostrar contenido a todo el ancho de la pagina.

template_files

Podemos crear mas plantillas a partir de estas plantilla, solo tendremos que duplicar un archivo y ponerle un nombre diferente que nos ayude a identificarlo, por ejemplo contact-page nos dice que es la plantilla para la pagina de Contacto, después abrimos el archivo y cambiamos el nombre de la plantilla Template Name: Contact Page.

En este archivo hacemos los cambios deseados.contact_page_content

Para asignar esa plantilla a la pagina, solo es necesario seleccionarla de la lista de Templates.atributos_de_la_pagina

Read More

25 Websites con efecto Parallax

Parallax es una diferencia de posición aparente de un objeto visto a lo largo de diferentes puntos de vista, Parallax se deriva de la palabra griega Parallaxis, en el diseño Web es una tendencia relativamente nueva, el efecto a sido modificado y manejado de una mejor manera con el tiempo y cada vez es mas utilizado en el diseño Web.
El efecto paralelo o parallax en el diseño Web es una tecnica de movimiento de imagenes superpuestas que se mueven alrededor de la pagina web en diferentes velocidades y perspectivas creando un efecto 3D agradable e interesante, aqui te mostramos 25 de los mejores Websites que utilizan esta tecnica y esperamos te sirvan de inspiración.
  1. Billy’s Downtown Diner
  2. Terre d’evenements
  3. Lenovo Rapid Boot
  4. Central Lechera Asturiana
  5. Cultural Solution Uk
  6. Unfold
  7. Iutopi Creative Land
  8. Old Pulteney
  9. Farmhouse Fare (Parallax Horizontal)
  10. Egopop
  11. Manufacture D’essai
  12. Yebo
  13. Sibennull
  14. Head 2 Heart (Horizontal)
  15. The Art of Flight (Horizontal-Vertical)
  16. Phase Technology
  17. Smokey Bones Bar & Fire Grill
  18. David Beckham
  19. Rastape Casa de Forro
  20. Convax
  21. Discover Tennessee Trails & Byways
  22. Cantilever Fish Chips
  23. Nike Better World
  24. Smart USA
  25. Campaign Monitor is Hiring

Read More