none
Anti piratería.. RRS feed

  • Pregunta

  • Hola, pues hace mucho tiempo que tengo esta duda y he buscado pero no encuentro respuesta.

    Supongamos termino una aplicación web, ¿Como la protego contra la piratería?, ya que pueden copiar todos los archivos web y la base de datos y la pueden poner en otro equipo servidor de otra empresa por ejemplo.. ¿Como controlo esto? ¿Como es la seguridad anti-piratería en Web?

    Gracias :P

    jueves, 14 de febrero de 2013 19:16

Respuestas

  • Sí. En Application_Start de Global.asax.cs puedes meter el código para ello:

    http://www.csharpdeveloping.net/Snippet/how_to_get_bios_info

    http://stackoverflow.com/questions/4084402/get-hard-disk-serial-number

    No sé si algunas de esas APIs requiere full-trust, si es el caso deberás desplegar tu app web con full-trust en IIS:

    http://msdn.microsoft.com/en-us/library/wyts434y.aspx

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis

    • Marcado como respuesta MAXDELPHI viernes, 22 de febrero de 2013 16:37
    jueves, 21 de febrero de 2013 9:12

Todas las respuestas

  • Buenas!

    Hombre, tan solo te podrán copiar el HTML generado, y los archivos css, imágenes y demás.

    No te podrán copiar las vistas (.cshtml) ni mucho menos el código de los controladores ni tampoco la base de datos!

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis

    lunes, 18 de febrero de 2013 13:13
  • Hola, muchas gracias por la respuesta, la verdad no me refiero a eso, lo que digo es que por ejemplo un cliente que tiene una empresa me compra una aplicación, luego él puede copiar todo y darselo a su otro amigo (que tiene otra empresa) y asi la segunda empresa no necesita comprar porgramas extras, pues su amigo le "pirateó" la aplicación que él compro, en otras palabras me refiero al número de serie que posee cada programa (de Escritorio) para justamente evitar esto, ¿Como se aplica lo del número de serie en la web?..

    Gracias.

    miércoles, 20 de febrero de 2013 1:03
  • Estimado MAXDELPHI

    Copiarte hasta la base de datos quiere decir que tiene acceso al sistema completo, al servidor donde se encuentra instalado. Puede proteger eso con permisos. Ahora bien si quieres "enpaquetar" tu aplicacion deberias ver estos temas

    • En la DB puedes encriptar objetos
      Pero aqui creo que hace un par de años en un equipo de proyecto encriptamos lo procedimientos almacenados
      No sabria decirte si todo las tablas tambien pero creeria que si
    • Con respecto a la app (assemblies)
      Si tiene acceso a los assemblies puede ver el codigo MSIL (hay muchas formas de volverlo a nuestro lenguaje preferido)
      PAra esto puedes ofuscar el codigo, y ademas utilizar algun mencanismo de encriptacion y validar con una clave por fecha (como lo hacen algunas app)
      Ejemplo (que todavia no lo probé) http://softwareprotector.codeplex.com/ y tambien lo veo por nuget https://nuget.org/packages/SoftwareProtector/
      N
      OTA: Tambien se podria "embeber" todos los recursos (imagenes, css dentro de un assemblie)

    Alguien que lee hasta aqui y tiene algun framework par hacer esto de "proteccion de software"? alguna recomendada?

    Saludos


    Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja

    miércoles, 20 de febrero de 2013 5:04
  • Buenas!

    Eso, lo más sencillo, es gestionarlo con una cláusula legal. Se firma la cláusula (un contrato) y si ves que él hace algo que no puede, lo denuncias.

    A nivel de código puedes poner trabas, usar servidores de licencias, lo que quieras... pero, a no ser que sea un programa que pretendes vender en retail, no tiene sentido.

    Y recuerda: todo se puede piratear. Siempre. La cláusula legal sigue siendo necesaria.

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis

    miércoles, 20 de febrero de 2013 14:02
  • Bueno, muchisimas gracias a ambos, me han aclarado mucho este tema, la ultima duda con respecto a esto, ¿Se puede acceder al nùmero de serie del disco duro del servidor, o la fecha de la BIOS desde la web (del servidor) al inicar el servidor web?.

    Gracias, mi me contestas eso doy por contestada y resuelta mi duda ;) ;P

    Gracias por su ayuda :D

    miércoles, 20 de febrero de 2013 16:09
  • Sí. En Application_Start de Global.asax.cs puedes meter el código para ello:

    http://www.csharpdeveloping.net/Snippet/how_to_get_bios_info

    http://stackoverflow.com/questions/4084402/get-hard-disk-serial-number

    No sé si algunas de esas APIs requiere full-trust, si es el caso deberás desplegar tu app web con full-trust en IIS:

    http://msdn.microsoft.com/en-us/library/wyts434y.aspx

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis

    • Marcado como respuesta MAXDELPHI viernes, 22 de febrero de 2013 16:37
    jueves, 21 de febrero de 2013 9:12
  • Muchisimas gracias, realemnte una respuesta completamente completa xD. jejeejeje.

    viernes, 22 de febrero de 2013 16:38