Archivo de la categoría: Diseño y Programación Web

Temas relacionados con el diseño y la programación Web en todos los lenguajes: html, php, asp.net, javascript, jquery…

Seguridad Web

Desde los comienzos de internet, y hoy en día más aún, la seguridad ha sido un aspecto esencial en el ámbito del desarrollo y programación web. Es curioso y a la vez alarmante que no siempre se tenga en cuenta por muchos profesionales dentro de este sector.

Un sitio web se encuentra expuesto a múltiples usuarios y no siempre todos tienen buena intención. Por este motivo hay que mantener una actitud proactiva para evitar cualquier tipo de ataque.

Por suerte existen armas para proteger nuestro sitio web.

  • Gestión de permisos dentro del sistema de archivos.
  • Gestión de usuarios mediante formularios: es posible asignar diferentes tipos de rol de usuario para bloquear contenidos a usuarios con perfiles no deseados.
  • Monitorización de accesos: conocer qué usuario y en qué momento accede a nuestro sitio web.
  • Certificados SSL, permite cifrar la comunicación con el servidor cuando se envían datos sensibles.
  • Cifrado de información sensible en archivos de configuración.
  • Seguridad CMS, conocimientos adquiridos de seguridad propios de cada CMS.
  • Urls limpias, deshabilitar la posibilidad de inyección de código dentro del servidor Web.
  • Inclusión de captcha para diferenciar accesos de robots.
  • Conocimientos de seguridad dentro de la programación web.
  • Existen otras herramientas de refuerzo de seguridad propias de cada lenguaje de programación.

Realizo un gran esfuerzo en el desarrollo y programación para que su web sea segura.

Usabilidad Web

Las herramientas con las que interactúa el ser humano evolucionan constantemente. En la sociedad de la información también es así y además de una forma más acelerada.

El modo en el que nos conectamos ahora a lnternet ya no es el mismo que hace unos pocos años. Las páginas web deben estar preparadas para mostrarse correctamente en un ordenador de sobremesa, una tablet o un móvil.

De la misma manera una página web debe visualizarse correctamente en cualquiera que sea el navegador que utilice el usuario: Internet Explorer, Firefox, Chrome, Safari, Opera…

Al mismo tiempo que internet el usuario también ha evolucionado. Su posible visitante y/o cliente, al igual que usted o que yo, sabe escoger la información que le interesa y en general rehuye de páginas web con tiempos de carga lentos, poco intuitivas y difícilmente navegables.

Además en muchos casos el desarrollo y programación web deben estar enfocados para la globalización y ofrecer el mismo servicio a visitantes de diversos idiomas y países (multi-idioma, multi-cultura).

Tampoco debemos olvidar la accesibilidad para personas discapacitadas o con disfunción visual.

Usar la reescritura URL en joomla! editando el web.config en IIS

Como sabréis las palabras contenidas en las direcciones URL son importantes para los buscadores a la hora del posicionamiento. Por ello es mucho más optimo tener una url del tipo:

http://posicionamiento-sitios-web.blogspot.com.es/mis-palabras-clave

que otra como la siguiente

http://posicionamiento-sitios-web.blogspot.com.es/index.php?article-id=4

Hay que aprovecharse de esto y «pasar» algunas palabras clave en cada una de las URL de nuestro sitio.

La mayor parte de los CMS que podemos utilizar actualmente están preparados para mejorar el posicionamiento orgánico. Entre estos CMS está joomla!.

Si tu servidor web es IIS con el módulo URL rewrite y tienes un sitio web en joomla! deberás editar el archivo web.config en la raíz de tu aplicación. En el apartado <system.webServer> inserta el siguiente bloque XML:


<rewrite>

<rules>

<rule name="Joomla! Rule 1" stopProcessing="true">

<match url="^(.*)$" ignoreCase="false" />

<conditions logicalGrouping="MatchAny">

<add input="{QUERY_STRING}" pattern="base64_encode[^(]*\([^)]*\)" ignoreCase="false" />

<add input="{QUERY_STRING}" pattern="(&gt;|%3C)([^s]*s)+cript.*(&lt;|%3E)" />

<add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />

<add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />

</conditions>

<action type="CustomResponse" url="index.php" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />

</rule>

<rule name="Joomla! Rule 2">

<match url="(.*)" ignoreCase="false" />

<conditions logicalGrouping="MatchAll">

<add input="{URL}" pattern="^/index.php" ignoreCase="true" negate="true" />

<add input="{URL}" pattern="/component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$" />

<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />

<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />

</conditions>

<action type="Rewrite" url="index.php" />

</rule>

</rules>

</rewrite>

Con esto IIS puede aprovechar unos patrones de expresiones regulares para convertir peticiones y transformarlas a urls con alias

Últimas tecnologías Web

Muchas tecnologías avanzan vertiginosamente hacia un futuro que seguramente no podamos ni imaginar. Este mismo futuro no nos permite ni un solo descanso y nos obliga a seguir aprendiendo. En el área del desarrollo y programación web pasa lo mismo.

Cada cierto tiempo los lenguajes de programación como ASP.Net, PHP, silverlight, etc. realizan cambios y mejoras en su framework aumentando, refinando y adaptando su funcionalidad y, al mismo tiempo, dejando poco a poco obsoletas versiones anteriores.

Por eso es recomendable utilizar las últimas tecnologías al servicio de los clientes. Tecnologías Web:

  • Web 2.0 – jQuery, XHTML, HTML5, AJAX
  • PHP 5.x
  • .Net 4.0 y .Net 4.5 – ASP.Net, Silverlight, Web Services, WCF, Entity Framework
  • CMS – Joomla! 2.5, joomla! 3.0, Drupal 7, WordPress 3.x
  • Datos y SGDB – SqlServer, Oracle, MySql, Pervasive, ODBC, XML, csv…
  • Servidores Web – IIS 6, IIS 7 y Apache.

Si lo prefiere para posibles mantenimientos de antiguos sitios web también tengo amplia experiencia en las versiones anteriores de PHP, ASP Clásico, ASP.Net (1.0, 2.0, 3.0 y 3.5) y joomla 1.6

Configuración de idiomas en mantis

Pasos para configurar los idiomas en mantis:

1 – Editar archivo config_inc.php con un editor de texto, por ejemplo notepad.

2 – Establecer el array de idiomas disponibles estableciendo/modificando la siguiente línea:

$g_language_choices_arr = array( 'english', 'spanish' );

3 – Establecer idioma por defecto de la aplicación:

$g_default_language = 'spanish';

Con este ejemplo tendrás configurado mantis con idioma español por defecto (para la pantalla de login) y, así mismo, podrás disponer de los idiomas inglés y castellano para configurar el idioma por usuario.

Dentro del panel de administración también puedes seleccionar el idioma con el que trabajará cada usuario. Para ello debes ir a Administración->Administrar Usuarios. Una vez selecciones el usuario te aparecerán las opciones de configuración de idiomas en la parte inferior de la pantalla:

mantis-idiomas-usuario

 

Establecer opciones de creación de cuenta en Mantis

Establecer opciones de creación de cuenta en Mantis. En la página de inicio de Mantis por defecto aparecen los siguientes enlaces:

  • Solicitar una cuenta nueva
  • Olvidaste la contraseña

Mantis-inicio-de-sesion

Los siguientes pasos son para habilitar o deshabilitar dichas opciones en el inicio de sesión de Mantis.

1 – Editar archivo config_inc.php con un editor de texto, por ejemplo notepad.

2 – Buscar el siguiente texto y si no existe habrá que crearla (esta es la variable que contendrá la configuración que buscamos)

$g_enable_email_notification

3 – Para habilitar:

$g_enable_email_notification = ON;

4 – Para deshabilitarlo:

$g_enable_email_notification = OFF;

Como crear una cuenta paypal sandbox para realizar pruebas

Paypal permite a sus usuarios crear gratuitamente cuentas de este servicio para poder realizar pruebas. Para ello es necesario distinguir dos conceptos:

  • Developer account, una cuenta paypal para administrar nuestro entorno Paypal como desarrollador.
  • Sandbox accounts, cuentas falsas de distintos tipos para poder realizar las pruebas.

Lo primero que hay que hacer es darse de alta como usuario de paypal en

https://developer.paypal.com/. 

Cualquier cuenta de paypal te permite autenticarte aquí.

Una vez autenticado haremos click en la pestaña «Applications» del menú superior y aparecerá en el menú de la izquierda entre otras cosas una opción para visualizar las cuentas sandbox.

índice

Desde aquí podrás administrar todas las cuentas sandbox de paypal. Puedes crear básicamente dos tipos de cuenta: businesss (como si fuera la cuenta de una tienda on-line)  y personal. Al crear una cuenta business se te concederán los datos necesarios para integrarlo en tu web pero sin que se llegue a realizar compras reales. La dirección del servidor al que se debe conectar paypal en modo pruebas será

https://www.sandbox.paypal.com/cgi-bin/webscr

en vez del servidor necesario cuando está en real que es:

https://www.paypal.com/es/cgi-bin/webscr

Se puede elegir la cantidad de dinero que tiene cada cuenta pero logicamente se trata de dinero ficticio. Por ejemplo puedes crear una cuenta que no tenga absolutamente nada de dinero y otra que tenga lo suficiente para poder comprar en tu web.

Cada cuenta sandbox tiene asociada un usuario (correo electrónico que no tiene por que ser real) y una contraseña.

Una vez creada una cuenta sandbox puedes acceder a ella con las credenciales creadas en tu cuenta developer en la siguiente dirección:

https://www.sandbox.paypal.com/

Con todo esto podrás utilizar paypal como si de dinero de monopoly se tratará y probar las distintas posibilidades que se pueden dar durante una transacción de este tipo.

Cambiar color del menu hamburguesa (hamburger menu) en Foundation

Si utilizas el framework Foundation y te preguntas como cambiar el color del menú que aparece para dispositivos móviles o de baja resolución de pantalla (hamburger menu).

Menu-Hamburguesa-Foundation

Mediante css, en el archivo foundation.css.Encuentra el menu-icon span donde cambiaras la propiedad box-shadow estableciendo los colores que deseas para tu menú hamburguesa.

Mediante este cambio podrás cambiar color del menu hamburguesa tan especial que aparece en los dispositivos móviles.

Habilitar compresión gzip en WordPress

La compresión permite a un sitio web mejorar su rendimiento y con ello que la carga de la página se realice de una manera más rápida.

Para habilitar compresión gzip en WordPress de una manera sencilla podemos entrar en el backend de wordpress

http://midominio.es/wp-admin

Una vez dentro le agregamos a la dirección options.php:

http://midominio.es/wp-admin/options.php

Buscamos la palabra «gzip»  y si se encuentra con valor 0 está desactivado. En nuestro caso como queremos habilitarlo pondremos el valor 1 y con esto lo activaremos.

Es necesario que el usuario autenticado en el panel de administración sea del perfil administrador que es el rol necesario para acceder al fichero options.php.