entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Seguridad en una pagina web

Buen dia, me encuentro trabajando en un proyecto para una web ".com" que necesitará registro de usuarios y pagos con tarjeta de credito, me surgen una serie de dudas.

Como programador, ¿Que aspectos de seguridad debo tener en cuenta?
¿Como utilizo el protocolo https para las paginas de login y registro?
¿Como garantizo que la información en mi base de datos no va a ser robada?
Cuando vaya a contratar un host, ¿Hay alguna característica que deba ser primordial?

Gracias por su aporte.

1 Respuesta

2votos

MitsuGami Puntos8010

Seguridad de la aplicación

Toda aplicación web, especialmente si es una aplicación web pública, como un sitio web, debe de estar protegida contra diversos ataques. Los comunes son:

  • SQLi (SQL injection) Es el ataque más común y uno de los más dañinos contra aplicaciones web. El ataque consiste en 'inyectar código SQL' sobre webs que no han sido saneadas, que aceptan los datos enviados desde el cliente sin hacer validación alguna y que los usan para generar consultas a su base de datos. De esta manera, el atacante puede inyectar parámetros en formulario, vía peticiones GET en la url de la página, etc., y obtener mediante ellos acceso a su base de datos o host mediante ellas. Si el atacante tendrá acceso a la base de datos, puedes tener mucho daño, incluso podrían demandarte por negligente.

  • LFI/RFI Este ataque consiste en aprovechar una vulnerabilidad en una página específica donde se incluyen ficheros dentro de la página (require_once) por medio de parámetros query, por ejemplo: require_once "fichero" | pagina.php?fichero=contactos.php. Si el atacante expone el fichero de passwords (en GNU/Linux es bien sabido) te verás en serios aprietos.

  • XSS Este ataque tiene 2 variantes populares: XSS reflejado (más común) y XSS persistence (el más peligroso). El XSS reflejado consiste en ejecutar código JavaScript en la web víctima, mientras que el XSS persistence permite "persistir" código SQL en el backend, así este será ejecutado en todo cliente que tenga disponible. Por ejemplo, si logras inyectar código JavaScript para robar cookies y todos los clientes conectados lo ejecutan, tendrás las cookies de todos ellos y por lo tanto, acceso a sus cuentas.

Y hay muchos más ataques de los cuales debes tener conciencia cuando realizas un sitio o aplicación web. La moraleja es: Nunca confíes en el cliente.

Protocolo HTTPS

Primero debes tener activado el módulo SSL en Apache, que hoy en día todo hosting lo tiene, y tienes que generar una clave pública (certificado) de tu servidor y que tiene que verificar alguna empresa como VerySing.

Garantizar la integridad de la base de datos

Ver punto 1, concepto SQL injection. Este es el punto de partida para tener una aplicación segura. Combinado con otros tipos de defensas, hace menos probable que un cracker tenga acceso al sistema.

Calidad del host

  • Debe ser un host con reputación y buenos comentarios.
  • Debe tener una buena relación precio/oferta.
  • Debe de tener buen soporte.

El resto ya es dependiendo de lo que tu aplicación necesite (ancho de banda, almacenamiento, versiones de PHP, NET Framework, Java, Python, Ruby, etc.

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Actividad Reciente

¿Eres Usuario Apple?

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta