Última actualización por at .
El proceso para instalar Apache en Windows es muy sencillo. En adelante, es posible que la configuración del servidor pueda complicarse un poco, sin embargo, si deseamos utilizarlo con las funciones habituales, no hemos de tener mayores problemas en ningún momento.
El servidor web Apache se puede descargar en la página de la Fundación Apache, en apache.org. En la URL http://httpd.apache.org/ tienen una sección en particular para el servidor HTTP (Protocolo de transmisión utilizado en la web), en la que tendremos que buscar el enlace para descarga.
Una vez en la página de descarga debemos buscar la última versión estable o la versión que recomendada. El servidor está disponible para sistemas Unix o Windows, por lo que nos ofrecerán diversas opciones de descarga, incluso para obtener el código fuente del programa. Si deseamos instalarlo en un sistema Windows, necesitamos obtener el archivo Win-32 Binary, que es un instalador Windows.
Modificación del comportamiento de nuestras consultas mediante la introducción de parámetros no deseados en los campos a los que tiene acceso el usuario.
La inyección SQL consiste en la modificación del comportamiento de nuestras consultas mediante la introducción de parámetros no deseados en los campos a los que tiene acceso el usuario.
Este tipo de errores puede permitir a usuarios malintencionados acceder a datos a los que de otro modo no tendrían acceso y, en el peor de los casos, modificar el comportamiento de nuestras aplicaciones.
Vamos a ver con un ejemplo que significa eso de “Inyección de código”:
Supongamos que tenemos una aplicación Web (realizada en ASP por sencillez) en la que el acceso a ciertas secciones está restringido. Para restringir ese acceso creamos una tabla de usuarios y contraseñas y sólo los usuarios que se validen contra esa tabla podrán acceder a esos contenidos. Una manera de que los usuarios se validen será colocar un par de cuadros de texto en nuestra página Web (por ejemplo txtUsuario y txtPassword) donde puedan introducir su nombre y su contraseña y enviar ese par usuario/contraseña a la base de datos para comprobar si es válido.
Primero creamos la tabla que vamos a usar y la rellenamos con datos:
Ahora veamos el código de las páginas que forman parte del proceso de login.
index.htm
Esta primera página es sencilla. Simplemente los dos cuadros de texto mencionados que enviarán los datos a la página de login.
Login.asp
Y en esta segunda página creamos dinámicamente una sentencia SQL que enviamos a la base de datos para la validación.
Si el usuario escribe Admin y 1234 la sentencia creada será:
Y como esta sentencia nos devuelve un registro dejaremos que el usuario entre en la Web. Si el usuario escribe por ejemplo ‘Admin’ y de contraseña cualquier otra cosa, la sentencia no nos devolverá registros y no permitiremos entrar a esa persona.
Pero ¿qué ocurre si el usuario escribe ‘ or ’1′=’1 como usuario y lo mismo de contraseña?
En este caso la variable Consulta contendrá la cadena:
Y obviamente esta sentencia nos devuelve registros con lo que el usuario entrará en nuestra Web sin tener permiso.
Pero esto no es lo peor. Lo peor será que el usuario utilice estos trucos de inyección de SQL para ejecutar código arbitrario en nuestro servidor. Sentencias DDL, cambiar permisos, utilizar procedimientos almacenados y un largo etcétera. Qué ocurriría si alguien escribiese de contraseña cosas como:
Cómo evitarlo
Y ahora lo más importante, ¿qué podemos hacer para evitar estos errores?
Pues hay varios sistemas para evitarlo. Por ejemplo podemos filtrar las entradas de los usuarios reemplazando la aparición de ‘ por ‘’ (dos comillas simples) e incluso evitando que los usuarios puedan pasar caracteres como / “ ‘ o cualquier otro que se nos ocurra que puede causar problemas. Estos filtros pueden ser tan sencillos como utilizar la sentencia replace de Visual Basic:
Otro factor importante en cuanto a la seguridad es limitar al máximo los permisos del usuario que ejecuta estas sentencias para evitar posibles problemas. Por ejemplo utilizando un usuario distinto para las sentencias SELECT, DELETE, UPDATE y asegurándonos que cada ejecución de una sentencia ejecute una sentencia del tipo permitido.
Por supuesto utilizar el usuario ‘sa’ o uno que pertenezca al rol ‘db_owner’ para ejecutar las sentencias de uso habitual de la base de datos debería quedar descartado.
Una solución definitiva sería trabajar con procedimientos almacenados. El modo en el que se pasan los parámetros a los procedimientos almacenados evita que la inyección SQL pueda ser usada. Por ejemplo utilizando el siguiente procedimiento almacenado:
También deberíamos validar los datos que introduce el usuario teniendo en cuenta por ejemplo la longitud de los campos y el tipo de datos aceptados. Esto lo podemos hacer en el cliente con los RegularExpressionValidator o con los CustomValidators del VB.NET. De todos modos si la seguridad es importante todas estas validaciones hay que repetirlas en el servidor.
Por ultimo, y ya que estamos pensando en entornos Web, podemos programar en ASP.NET yy utilizar siempre que sea posible las clases System.Web.Security.FormsAuthentication para que los usuarios entren en nuestras aplicaciones Web.
Cuando se realizan actualizaciones WordPress 3 pasa automáticamente a un modo de mantenimiento, es decir, nadie puede acceder al sitio durante la actualización. Si alguien consulta el blog obtendrá un mensaje como el siguiente:
O su versión en inglés.
Algunas veces algo falla en la actualización de algunos plugins, y el modo mantenimiento no se restaura automáticamente queda el sitio aislado.
Este sistema permite al usuario enviar desde la web, un e-mail a otra persona, invitándolo a visitar el sitio.
Solo requiere un módulo ASP que se encargará de mostrar el formulario de recomendación, enviar el e-mail y devolver un acuse de envío. Os lo pongo a continuación.
Nota: Requiere que tu servidor soporte CDONTS Mail.
recomendar.asp
Espero que os sea de utilidad.
Para que el usuario que accede a nuestras páginas seleccione el texto contenido en un campo de texto de formulario (u otro) tan solo situando el puntero sobre el mismo utilizaremos las siguientes etiquetas:
Vamos a realizar un ejemplo practico, imaginemos que tenemos un campo de texto en el ejemplo contiene el texto de un villancico:
Para que el texto del campo se marque o seleccione cuando el usuario sitúe el puntero sobre el mismo añadiremos la siguientes etiquetas al código anterior:
El resultado final sería:
- El ejemplo práctico:
Estas instrucciones son posibles de realizar con Invision Power Board 1.3 y 1.3.1. Lo primero de todo, es recomendable que instaléis el Foro en el directorio /Forums o /foro. Y también que tengáis en cuenta que este manual va dirigido especialmente a los que uséis PHP Nuke Edición Truzone. Este Manual esta hecho con la 3.1.2 pero también funcionara con otras. A los que uséis otras versiones también os valdrá, pero seguramente los números de las lineas varíen.
Tenemos que realizar varios cambios tanto en los Foros Invision como en vuestro Nuke
Continua leyendo “Cómo integrar los Foros de Invision Power Board con PHP-Nuke” »
La verdad que es muy fácil. Se crea mediante javascript con este código:
Copiar el texto del código dentro del editor de Notas normal y cambiar las variable iniciales donde pondremos las propias y salvar los cambios como mensaje.js
Subirlo al nuke creando una carpeta llamada scripts, que la ruta del archivo quedaría: scripts/mensaje.js
Editar el archivo includes/my_header.php
Antes del tag que cierra el código php ?> introducir la llamada al archivo de esta forma:
Y listo, ya lo tenéis funcionando. Acordaros de estos cambios cuando actualicéis vuestro Nuke, o los perderéis. Quiero agradecer a Khakism (http://www.khakism4.com) la información necesaria para este manual, ya que sin su ayuda no habría podido hacerlo.
Comentarios recientes