Entradas

Direcciones IP emisoras de SPAM

A partir de este mes intentaré publicar mensualmente una lista con las direcciones IPs emisoras de spam que detecte en todos los sitios web para los que trabajo. El listado irá organizado de mayor emisor a menor de spam. De esta forma podremos agregar estas direcciones ip en nuestros archivos htaccess para bloquearlas con la instrucción deny from ip . Sin más aquí os dejo el listado de marzo de 2011: Ataques Dirección IP Último ataque 78 91.201.66.97 2011-03-30 14:14:29 78 91.224.160.3 2011-03-30 13:06:42 61 91.201.66.98 2011-03-29 21:29:56 36 91.224.160.4 2011-03-29 11:58:10 35 91.201.66.76 2011-03-30 17:09:47 10 89.112.14.13 2011-03-30 06:28:33 10 188.143.232.120 2011-03-21 01:00:06 6 95.65.79.220 2011-03-19 15:28:08 6 95.65.77.99 2011-03-19 13:09:18 6 94.100.25.52 2011-03-26 16:22:39 ¿Os coincide alguna?

Instalación y configuración de Subversion en Windows

Imagen
¿Qué es Subversion? Antes de saber que es Subversion debemos tener en cuenta algunos conceptos previos cómo el de versión , control de versiones y sistemas de control de revisiones . Una versión , revisión o edición de un producto, es el estado en el que se encuentra dicho producto en un momento dado de su desarrollo o modificación. Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los elementos de algún producto o una configuración del mismo. Los sistemas de control de versiones facilitan la administración de las distintas versiones de cada producto desarrollado, así como las posibles especializaciones realizadas. Un Sistema de Control de Revisiones ( Revision Control System - RCS) es una implementación de software para el control de versiones que automatiza las tareas de guardar, recuperar, registrar, identificar y mezclar versiones de archivos. Resumiendo, Subversion no es más que un sistema de control de versiones diseñado específic...

Javascript: valores null y undefined

Imagen
Trabajar con JavaScript a pelo (o sea sin utilizar un framework) puede llegar a ser un dolor de cabeza, sobre todo por las validaciones necesarios que siempre tenemos que hacer. Para las validaciones hay dos palabras claves que debemos conocer siempre: null y undefined . Ambas nos sirven para lo mismo, para no utilizar las propiedades de dicho objeto, variable o función en caso que sean null o undefined , ahora bien, tienen sus diferencias. Antes de ver las diferencias tenemos que tener en cuenta algunas cuestiones: Una función siempre tiene que retornar un valor. Si algo es undefined no tiene valor por tanto una función nunca puede retornar undefined (me refiero a funciones propias de JavaScript) La palabra reservada null en JavaScript es considerada un objeto (lo cual es lógico si tenemos en cuenta que no existe un tipo de datos que sea constante en JavaScript) Veamos cuando comparar con null y cuando con undefined . Si hacemos un alert a la expresión document.getEle...

MySQL error 1025: explicación y solución

Este post es una traducción al castellano y una ampliación del post MySQL’s ERROR 1025 explained . En versiones de MySQL superiores o iguales a la 5.5.* el motor de InnoDB ha sido cambiado totalmente y con ello la forma de tratar las claves externas, con ello aparecen nuevos errores como el que vamos a tratar de solucionar hoy: MySQL Error Number 1025 Error on rename of ‘tabla temporal’ to ‘tabla real’ (errno: 150) Este error puede aparecer al intentar cambiar el nombre de la columna, o el tipo de datos o su valor por defecto, en fin, cualquier modificación que afecte a una columna de la tabla que sea una foreign key (clave extranjera). O sea MySQL emite un mensaje de error crítico, error on rename (error en cambiar el nombre), cuando se intenta modificar una tabla de tal manera que se tenga que romper una restricción de clave externa. Explicación del error 1025 de MySQL Para comprender la solución primero debemos entender el origen de este error y con ello el funciona...

Configurar Firewall para permitir el acceso a SQL Server

En un post anterior sobre Problemas en el acceso remoto a SQL Server había dejado deshabilitado el Firewall de Windows para permitir las conexiones entrantes al servidor a cualquiera. Esto de más está decir que no es una opción en absoluto segura y menos para un servidor en producción, por ello en este post veremos como habilitar el firewall de Windows para permitir el acceso remoto a SQL Server . Este post se aplica al firewall de Windows Server 2008 R2 Enterprise (por defecto a cualquier Firewall de Windows Server 2008 y 2008 R2). Existen multitud de tutoriales en internet para configurar el acceso remoto a SQL Server pero en realidad solo tenemos que hacer una cosa: habilitar el puerto 1433 . Por eso este post se reduce a cómo habilitar puertos en el firewall de Windows Server , en este caso en concreto el 1433. Al entrar en el servidor en inicio seleccionamos Windows Firewall con Seguridad Avanzada Una vez dentro vamos a reglas de entrada o Inbound Rules Luego creamos un...

Opciones de bases de datos en SQL Server

Imagen
Este post lo he realizado a raíz de encontrarme en los log de SQL Server múltiples inicios de algunas bases de datos del tipo: Starting up database ‘x’. Mi instalación es sobre Windows Server 2008 R2 Enterprise x64 English y un SQL Server 2008 R2 sobre un Failover Clúster (clúster de conmutación por error) de 2 nodos. Buscando por los blogs me encontré que estos reinicios eran producto de tener activa la opción Auto Close para la base de datos y me dio por investigar el resto de opciones automáticas que podemos encontrar en el apartado opciones del menú propiedades de cada base de datos al hacer clic derecho sobre ella: Veamos cada una de estas opciones por separado. Cerrar automáticamente (Auto Close) La opción Auto Close no viene activada por defecto (pero en algunas restauraciones procedentes de bases de datos inferiores es posible que se active) y en los entornos de producción es altamente recomendable ponerla a OFF (desactivada o FALSE). Esta opción lo que permite es ap...

Capturar click derecho con jquery

 Jquery carece de una función que sea rightClick() [por ejemplo] es por ello que para acceder a este evento es necesario utilizar algunos trucos de programación. El motivo por el cual no existe esta función es muy sencillo, un click derecho no deja de ser un click al igual que el doble click no deja de ser dos clics seguidos. Métodos para capturar ele evento click con jquery Para capturar el click en jquery podríamos utilizar cualquiera de estas variantes: $('div').bind('click', function (){ alert ('clicked'); }); $('div').live('click', function (){ alert ('clicked'); }); $('div').click( function (){ alert ('clicked'); }); Diferenciar entre click derecho e izquierdo con jquery Mientras que en cambio no existe el evento rightclick como os comentaba anteriormente. En cambio desde la versión 1.1.3 de jQuery event.which normaliza event.keyCode y event.charCode por lo que no tenemos que preocuparnos po...