Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACIÓN EN ENSAMBLADOR
Docente
Fabio Ortiz Trigos
Por
La programación de los sitios web es una de las disciplinas dentro del mundo de Internet
que más se ha desarrollado y no deja de sorprender día a día con las posibilidades que
abre y genera, ya que no sólo consigue satisfacer necesidades que se generan, sino que sin
la generación de necesidades ofrecen servicios a los usuarios que éstos no habían
imaginado.
Pero, como decíamos, la creatividad humana no tiene límites y lejos de contentarse con el
desarrollo del lenguaje HTML, enriqueciéndolo en su sintaxis, aparecieron otros lenguajes,
que a su vez desataron una reacción en cadena con respecto a las operaciones que se
podían lograr en un sitio web.
De esta forma, apareció el lenguaje Java, que mejoró sustancialmente la interacción con el
usuario, de manera que éste anexó una sensación de amigabilidad y usabilidad en
Internet, contribuyendo a que su utilización sea mayor.
Los servidores, que son los vinculantes, entre nuestro sitio web y los usuarios,
comenzaron a adaptarse a estas nuevas tecnologías y lenguajes y mejorar sus servicios,
permitiendo que a través de programas se pudieran generar un diálogo on line con los
usuarios de forma de que éstos recibieran la información que buscaran más rápido y de
forma más eficiente.
De esta manera de Java nació Java Script, que a su vez incentivó a la creación de otros
lenguajes que apuntaron a el mismo objetivo como PHP, y así constantemente se están
buscando mejoras y nuevas alternativas, todas que apuntan a la interacción del usuario
con el sitio.
Por todo esto que estamos indicando antes, la programación del sitio web tiene la misma
importancia que el diseño web, no se trata de poner uno por encima de otro, los dos se
complementan y hacen que la eficiencia del sitio web sea importante.
Está demostrado que los sitios más visitados son los que brindan un servicio más
“personalizado” al usuario y esto se logra pura y exclusivamente a través de la
programación web, que a través de conocer los gustos y tendencias del usuario, utiliza
estos datos para proporcionarle al mismo información que más le interesa.
Además de la enseñanza con robots, también existen otro tipo de aprendizajes. Uno de ellos es a
través de un libro ilustrado que intenta explicar todo el sistema llamado Hello Ruby. Con estas bases
los niños podrán introducirse en los conceptos de esta área lo antes posible. Un área que, sin duda,
es el futuro.
Los servidores, que son los vinculantes, entre nuestro sitio web y los usuarios, comenzaron a
adaptarse a estas nuevas tecnologías y lenguajes y mejorar sus servicios, permitiendo que ha través
de programas se pudieran generar un diálogo online con los usuarios de forma de que éstos
recibieran la información que buscaran más rápido y de forma más eficiente.
De esta manera de Java nació Java Script, que a su vez incentivó a la creación de otros lenguajes que
apuntaron a el mismo objetivo como PHP, y así constantemente se están buscando mejoras y nuevas
alternativas, todas que apuntan a la interacción del usuario con el sitio.
Por todo esto que estamos indicando antes, la programación del sitio web tiene la misma
importancia que el diseño web, no se trata de poner uno por encima de otro, los dos se
complementan y hacen que la eficiencia del sitio web sea importante.
Java continúa siendo el lenguaje de programación más popular en el mundo, seguido por C y C++.
Conocé la lista completa a continuación
Los 5 lenguajes de programación más populares de la actualidad son: Java, C, C++, Pyhton y C#. Así
lo asegura el Índice TIOBE en su última actualización de junio 2017. La novedad es que el lenguaje
de programación Kotlin salta a los 50 más populares. Probablemente te preguntes qué se supone
que debas interpretar por lenguaje de programación "más popular". A continuación, te explicamos.
El lenguaje de programación Java fue originalmente desarrollado por James Gosling, de Sun
Microsystems(constituida en 1982 y posteriormente adquirida el 27 de enero de 2010 por la
compañía Oracle), y publicado en 1995 como un componente fundamental de la plataforma Java de
Sun Microsystems. Su sintaxis deriva en gran medida de C y C++, pero tiene menos utilidades de bajo
nivel que cualquiera de ellos. Las aplicaciones de Java son compiladas a bytecode (clase Java), que
puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar la arquitectura de la
computadora subyacente.
La compañía Sun desarrolló la implementación de referencia original para los compiladores de Java,
máquinas virtuales y librerías de clases en 1991, y las publicó por primera vez en 1995. A partir de
mayo de 2007, en cumplimiento de las especificaciones del Proceso de la Comunidad Java, Sun
volvió a licenciar la mayoría de sus tecnologías de Java bajo la Licencia Pública General de GNU.
Otros también han desarrollado implementaciones alternas a estas tecnologías de Sun, tales como
el Compilador de Java de GNU y el GNU Classpath.
Python Es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis
que favorezca un código legible.
Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a
objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje
interpretado, usa tipado dinámico y es multiplataforma.
Es administrado por la Python Software Foundation. Posee una licencia de código abierto,
denominada Python Software Foundation License, que es compatible con la Licencia pública general
de GNU a partir de la versión 2.1.1, e incompatible en ciertas versiones anteriores.
Acerca de Kotlin Según publica la página oficial de Tiobe, este mismo año el equipo de Google
Android anunció que Kotlin es el tercer lenguaje de programación oficial para Android además de
Java y C++. Este lenguaje de tipadoestático, desarrollado por la compañía JetBrains, compila a código
Java Virtual Machine (JVM), manteniendo su compatibilidad con programas Java.
C# Es un lenguaje de programación orientado a objetos desarrollado y estandarizado
por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por
la ECMA (ECMA-334) e ISO (ISO/IEC 23270). C# es uno de los lenguajes de programación diseñados
para la infraestructura de lenguaje común.
Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al
de Java, aunque incluye mejoras derivadas de otros lenguajes.
El nombre C Sharp fue inspirado por el signo '#' que se compone de cuatro signos '+' pegados.
Aunque C# forma parte de la plataforma .NET, ésta es una API, mientras que C# es un lenguaje de
programación independiente diseñado para generar programas sobre dicha plataforma. Ya existe
un compilador implementado que provee el marco Mono - DotGNU, el cual genera programas para
distintas plataformas como Windows Microsoft, Unix, Android, iOS, Windows Phone, Mac
OS y GNU/Linux.
Visual Basic .NET (VB.NET) Es un lenguaje de programación orientado a objetos que se puede
considerar una evolución de Visual Basic implementada sobre el framework .NET. Su introducción
resultó muy controvertida, ya que debido a cambios significativos en el lenguaje VB.NET no es retro
compatible con Visual Basic, pero el manejo de las instrucciones es similar a versiones anteriores de
Visual Basic, facilitando así el desarrollo de aplicaciones más avanzadas con herramientas modernas.
Para mantener eficacia en el desarrollo de las aplicaciones. La gran mayoría de programadores de
VB.NET utilizan el entorno de desarrollo integrado Microsoft Visual Studio en alguna de sus
versiones (desde el primer Visual Studio .NET hasta Visual Studio .NET 2017, que es la última versión
de Visual Studio para la plataforma .NET), aunque existen otras alternativas, como SharpDevelop
(que además es libre). Al igual que con todos los lenguajes de programación basados en .NET, los
programas escritos en VB .NET requieren el Framework .NET o Mono para ejecutarse.
Aplicaciones Web
Ventajas Desventajas
1. Se puede usar desde cualquier lugar Requiere conexión a la red
Ventajas Desventajas
Este tipo de software suele ser más Están totalmente vinculadas al sistema
completo que su versión web operativo, por lo que si para nuestro
sistema no existe la aplicación, nos
quedamos sin ella.
El tema de la creación de una aplicación Web segura es muy amplio ya que requiere realizar un
estudio para comprender los puntos vulnerables de la seguridad. También es necesario
familiarizarse con las posibilidades de seguridad que ofrecen Windows, .NET Framework y ASP.NET.
Finalmente, resulta vital entender cómo utilizar estas funciones de seguridad para contrarrestar las
amenazas.
Aunque no se tenga mucha experiencia en seguridad, existen unas medidas básicas que se deberían
adoptar para proteger cualquier aplicación Web. La lista siguiente proporciona pautas de seguridad
mínima que se aplican a todas las aplicaciones Web y que se deberían seguir:
No obstante, incluso los métodos de seguridad de aplicaciones más elaborados pueden verse
comprometidos si un usuario malintencionado logra obtener acceso a los equipos usando medios
simples. Siga estas instrucciones:
Utilice el sistema de archivos NTFS de Windows, no el FAT32. NTFS ofrece mucha más seguridad que
el FAT32. Para obtener información detallada, vea la documentación de Windows.
Proteja el equipo del servidor Web y todos los demás equipos de la misma red con contraseñas
rigurosas.
Proteja los servicios IIS. Para obtener una información más detallada, visite el sitio Web de Microsoft
TechNet Security Center.
Establezca y haga respetar una política que prohíba a los usuarios tener sus contraseñas escritas en
una ubicación fácil de localizar.
Use un firewall. Para conocer las recomendaciones, vea el artículo en inglés Microsoft Firewall
Guidelines en el sitio Web sobre seguridad de Microsoft.
Instale las últimas revisiones de seguridad de Microsoft y otros proveedores. Por ejemplo, para
obtener una lista con los últimos boletines de seguridad para todos los productos Microsoft,
consulte Microsoft TechNet Security Center. Otros fabricantes tienen sitios parecidos.
Use las funciones de registro de eventos de Windows y examine los registros con frecuencia para
detectar actividades sospechosas. Esto incluye los intentos repetidos de iniciar una sesión en el
sistema o la existencia de un número extremadamente alto de solicitudes en el servidor Web.
Normalmente, las bases de datos tienen sus propios sistemas de seguridad. Un aspecto
importante de una aplicación Web protegida es diseñar un modo de que ésta pueda tener acceso
a la base de datos de forma segura. Siga estas instrucciones:
Use el sistema de seguridad inherente de la base de datos para limitar quién puede tener acceso a
los recursos de dicha base. La estrategia exacta dependerá de la base de datos y de la aplicación:
Si resulta viable en la aplicación, use la seguridad integrada de forma que sólo los usuarios
autenticados mediante Windows puedan tener acceso a la base de datos. La seguridad integrada
es más segura que pasar las credenciales explícitas a la base de datos.
Si la aplicación utiliza el acceso anónimo, cree un único usuario con permisos muy limitados, y
haga que las consultas se ejecuten conectándose como dicho usuario.
No cree instrucciones SQL concatenando cadenas que contengan información aportada por los
usuarios. En su lugar, cree una consulta parametrizada y use la entrada del usuario para establecer
los valores de los parámetros.
Si debe almacenar un nombre de usuario y su contraseña en algún lugar para utilizarlos como las
credenciales de inicio de sesión de la base de datos, almacénelos en el archivo Web.config y
asegure el archivo con configuración protegida. Para obtener información detallada, vea Cifrar
información de configuración mediante una configuración protegida.
Crear mensajes de error seguros
No escriba mensajes de error que presenten información que pudiera resultar útil a los usuarios
malintencionados, como un nombre de usuario.
Configure la aplicación para que no muestre errores detallados a los usuarios. Si desea mostrar
mensajes de error detallados para la depuración, determine primero si quien los recibirá es un
usuario local con respecto al servidor Web. Para obtener información detallada, vea Cómo: Mostrar
mensajes de error seguros.
Utilice el elemento de configuración customErrors para controlar quién ve las excepciones desde el
servidor.
Cree un sistema de administración de errores personalizado para las situaciones que sean propensas
a los errores, como el acceso a las bases de datos. Para obtener más información, vea Control de
errores en aplicaciones y páginas ASP.NET.
Cuando la aplicación se ejecuta, lo hace en un contexto que tiene privilegios específicos en el equipo
local y posiblemente en equipos remotos. Para obtener información sobre cómo configurar
identidad de aplicaciones, vea Configurar la identidad de procesos en ASP.NET. Para ejecutar con
privilegios mínimos, siga estas instrucciones:
No ejecute la aplicación con la identidad de un usuario de sistema (administrador).
Ejecute la aplicación en el contexto de un usuario con los mínimos privilegios factibles.
Establezca permisos (Listas de control de acceso, o ACL) en todos los recursos requeridos por la
aplicación y utilice la configuración menos permisiva posible. Por ejemplo, si resulta viable en la
aplicación, establezca que los archivos sean de sólo lectura. Para obtener una lista de los permisos
ACL mínimos requeridos para la identidad de su aplicación ASP.NET, vea Listas de control de acceso
(ACL) necesarias para ASP.NET.
Mantenga los archivos de la aplicación Web en una carpeta ubicada debajo de la raíz de la aplicación.
No dé a los usuarios la opción de especificar una ruta que permita tener acceso a ningún archivo de
la aplicación. Esto ayudará a evitar que los usuarios obtengan acceso a la raíz del servidor.
En muchas aplicaciones, los usuarios tienen acceso al sitio de forma anónima (sin tener que
proporcionar las credenciales). Si es el caso, la aplicación obtiene acceso a recursos al ejecutarse en
el contexto de un usuario predefinido. De forma predeterminada, este contexto es el usuario
ASPNET local (en Windows 2000 o Windows XP) o el usuario NETWORK SERVICE (en Windows Server
2003) del equipo del servidor Web. Para restringir el acceso únicamente a los usuarios que se hayan
autenticado, siga estas instrucciones:
Si la aplicación pertenece a una intranet, configúrela para usar la seguridad integrada de Windows.
De este modo, las credenciales de inicio de sesión de los usuarios se pueden usar para obtener
acceso a los recursos. Para obtener más información, vea Suplantación de ASP.NET.
Si precisa recabar credenciales del usuario, utilice una de las estrategias de autenticación de
ASP.NET. Para obtener un ejemplo, vea Administrar usuarios mediante suscripciones.
Como regla general, nunca se debe dar por sentado que la entrada proveniente de los usuarios es
segura. A los usuarios malintencionados les resulta fácil enviar información potencialmente
peligrosa desde el cliente a la aplicación. Para protegerse contra las entradas malintencionadas,
siga estas instrucciones:
En las páginas Web ASP.NET, filtre la entrada de los usuarios para comprobar si existen etiquetas
HTML, que pueden contener un script. Para obtener información detallada, vea Cómo: Proteger
una aplicación Web frente a ataques mediante secuencias de comandos aplicando codificación
HTML a las cadenas.
Nunca repita (muestre) entrada de los usuarios sin filtrar. Antes de mostrar información que no
sea de confianza, codifique los elementos HTML para convertir cualquier script potencialmente
peligroso en cadenas visibles, pero no ejecutables.
No almacene nunca información proporcionada por el usuario sin filtrar en una base de datos.
Si desea aceptar algún elemento de código HTML de un usuario, fíltrelo manualmente. En el filtro,
defina explícitamente lo que aceptará. No cree un filtro que intente eliminar cualquier entrada
malintencionada, ya que es muy difícil anticipar todas las posibilidades.
No dé por sentado que la información obtenida del encabezado de solicitud HTTP (en el
objeto HttpRequest) es segura. Proteja las cadenas de consulta, cookies, etc. Tenga en cuenta que
la información que el explorador envía al servidor (información del agente de usuario) puede ser
suplantada, en caso de que resulte importante para la aplicación en cuestión.
Si es posible, no almacene información confidencial en un lugar accesible desde el explorador,
como campos ocultos o cookies. Por ejemplo, no almacene una contraseña en una cookie.
Las cookies constituyen un modo útil de almacenar la información específica disponible sobre los
usuarios. Sin embargo, como se envían al explorador del equipo, son vulnerables a la suplantación
u otros usos malintencionados. Siga estas instrucciones:
Considere establecer las propiedades Secure y HttpOnly de las cookies como true.
CONCLUSION