Tag Archives: ASP.NET

Windows 7 Logo Program

No sabía dónde meter esta entrada, ¿quizá en Mundo Real 2.0?, ¿tal vez en Desarrollo? o ¿mejor en Portafolios?.

Finalmente he decidido meterlo en los tres, he usado la cabecera de una, la ubicación y clasificación de la otra y finalmente, la forma de enfocar la noticia de la otra.

P  – ¿Qué es Windows 7 Software Logo Program? .

R  – Es una guia con una serie de requisitos que debe cumplir un programa informático para que Microsoft lo certifique como compatible con Windows 7.

P  – ¿Por qué lo he puesto en el blog si son cosas de trabajo?.

R  – Muy sencillo. Quería haceros partícipes de un logro personal en mi trayectoria laboral. Además de mostraros cuál es el nivel de cualificación y mencionar que he logrado ser uno de los pocos españoles en obtener el Logo para un producto informático pasados escasamente 30 dias desde la publicación de Windows 7.

P  – ¿Dónde podré encontrar ese Logo?.

R  – En GEXTOR SQL, un magnífico ERP especializado en contabilidad y gestión empresarial. GEXTOR SQL es uno de los productos estrella de  EXTRA Software, empresa en la que trabajo.

P  – ¿Cómo es ese Logo?.

R  – En la imagén del principio puedes verlo. Cuando compres un producto informático te garantiza que estás invirtiendo tu dinero en un Hardware o Software acreditado por Microsoft.

P  – ¿Algo más que añadir o comentar?.

R  – No, nada más.  Y que siento repetir la noticia si es que la habíais leído en facebook.

NOTA:

El Logotipo mostrado en la imagen, es a título informativo para que los lectores de esta entrada sepan identificar el Software y Hardware que a pasado los exhaustivos controles de Microsoft para Windows 7.

En ningún momento el Logotipo se asocia a un desarrollador, si no, que el desarrollador muestra su capacitación para obtener el Logotipo de Compatibilidad con Windows 7.

Leer Aviso Legal.

Windows & ASP.NET – MCPD

Windows & ASP.NET Developer 3.5

Actualmente, estoy en proceso de Certificación para el MCPD (Microsoft Certified Professional Developer).

A continuación una breve explicación:

La tecnología .NET de Microsoft es una filosofía de desarrollo de aplicaciones que engloba una serie de herramientas de diseño y confección de programas.

Bajo el nombre de Visual Studio .NET 2008, Microsoft ofrece al desarrollador el último y más completo entorno de herramientas que permiten crear aplicaciones informáticas. En este paquete de soluciones podremos encontrar las nuevas versiones de VB.NET, Visual C#, ASP.NET, ADO, LINQ, …

MCPD es la certificación creada para quienes quieran trabajar como desarrolladores de sistemas basados en el entorno Visual Studio .NET 2008. Esta certificación de Microsoft representa la mejor prueba tanto para el desarrollador, como para el empleador y por extensión para el cliente final, que acredita el nivel técnico de un profesional en estas nuevas tecnologías.

Actualmente estoy trabajando en la obtención de las siguientes certificaciones:

  1. Fundamentos de Desarrollo de Aplicaciones Microsoft .NET Framework 3.5 (Examen 70-536).
  2. Desarrollo de Aplicaciones Windows con Microsoft .NET Framework (Examen 70-505).
  3. Desarrollo de Aplicaciones con ASP. NET con Microsoft .NET Framework 3.5 (Examen 70-562).
  4. Diseño y Desarrollo de Aplicaciones Windows con Microsoft .NET Framework 3.5 (Examen 70-563).
  5. Diseño y Desarrollo de Aplicaciones Web con Microsoft .NET Framework 3.5 (Examen 70-564).

Al obtener el examen A + B ó A + C, Microsoft acredita al desarrollador como MCTS (Microsoft Certified Technology Specialist) y al añadir el examen D al A +B ó E al A + C, Microsoft acerdita al desarrollador como MCPD (Microsoft Certified Professional Developer).

Siendo la orientación A + B + D para aplicaciones Windows Forms y la orentación A + C + E para aplicaciones ASP.NET.

Inyección de SQL

La vulnerabilidad más importante y que menos se tiene en cuenta a la hora de trabajar con bases de datos, es la inyección de sentencias SQL.

Una inyección de SQL se da cuando se inserta una sentencia de SQL dentro de otra sentencia SQL, esta invasión, logra alterar el funcionamiento normal y permite la ejecución de código malintencionado.

Este problema no puede considerarse como un problema de seguridad informática, es un problema derivado del programador, es un error de programación. Generalmente la falta e conocimientos, ignorancia sobre problemáticas de SQL o un simple descuido, dejarán una aplicación abierta a la entrada de código malicioso. El error se debe a la inexistencia de validación de los datos que han entrado desde una aplicación.

A continuación con un sencillo ejemplo, veremos en qué consiste la Inyección de SQL.

Supongamos que tenemos un portal de empleados en nuestra intranet (aplicación web) con una casilla donde el empleado debe poner su correspondiente código.

El uso normal de cualquier usuario bienintencionado es poner su código y su clave, para entrar en su sesión para realizar el trabajo diario. El de un usuario mal intencionado, con conocimientos de informática y habiendo detectado que es posible ejecutar código inyectado, podrá ser bien distinto.

Internamente el programa informático realiza una consulta similar a esta:

1
SELECT * FROM Empleados WHERE Codigo_Empleado = [Valor de la Casilla]

Cuando nuestro programa no está preparado para evitar código inyectado, el usuario malintencionado podría añadir en la casilla el siguiente valor:

1
[Valor de la Casilla]; DROP TABLE Empleados;

Donde [Valor de la Casilla] seguiría siendo algo que espera el programa original, pero no lo que viene a continuación del “;”. En este caso habríamos borrado todos los datos de inicio de sesión de usuarios y sería imposible que en esa empresa algún trabajador desarrollar su labor diaria.

Como evitarlo en PHP:

Dependiendo del motor de base de datos que estemos usando, deberemos ir a la documentación para implementar esta protección. En el caso de MySQL, debemos usar la unción mysql_real_escape_string.

1
2
3
4
5
6
$query_result = mysql_query
(
  "SELECT * FROM EMPLEADOS WHERE CodigoEmpleado = \""
  mysql_real_escape_string($codigo_empleado)
  "\""
);

Como evitarlo en VISUAL STUDIO .NET (VB.NET):

En este lenguaje y derivados de la plataforma .NET, dependiendo del método de trabajo que usemos, podemos independizarnos del sistema gestor de bases de datos, es decir, es el lenguaje el encargado de validar las sentencias.

1
2
3
4
5
6
7
8
'// Creamos una consulta
Dim cmd As New SqlCommand( _
  "SELECT * FROM EMPLEADOS " & _
  "WHERE CodigoEmpleado = @CodigoEmpleado", cnn)
'// Abrimos la conexión
cnn.Open()
'// Añadimos el valor del parámetro de la consulta
cmd.Parameters.AddWithValue("@CodigoEmpleado", txtCodigoEmpleado.Text)

Como evitarlo en: