Ocultar codigo pagina web

Hola a todos, ya que se que esta mal que quiera ocultar el codigo fuente de una pagina web, pero es que asi me lo pidieron en el trabajo y por mas que les explique que es imposible proteger el codigo fuente de una web y que no habia porque hacerlo ya que internet es y debe ser libre, ellos insisten en que encuentre la forma de ocultarlo.

bueno investigando por ahi, encontre que lo mas que se puede hacer es ofuscarlo, pero eso no es garantia de que no lo puedan copiar ya que va contenida la forma de decodificarlo o de lo contrario no lo puede interpretar el navegador (de echo ese fue el argumento mas fuerte que pude darles al decirles que no tenia logica ocultar un estandar que el navegador va a interpretar y que si se lo ocultas no habra forma de que lo vea asi que de nada serviria) pero bueno estan muy insistentes.

Y bueno despues de explicarles esto alguien conoce alguna forma o un buen ofuscador que conozcan para HTML y JavaScript gracias y no me regañen no es mi culpa aunque seguire insistiendo en mi postura [risita]
O usas flash, lenguaje grafico... o usas lenguaje servidor y que muestre solo el resultado estilo php y tal.
No creo que el resultado no quieran que lo muestren...
A las malas cojes y les dije que como mucho puedes hacer que muestre solo una hoja, pero que asi sera pesado, lento y una gilipollez XD.
El código no lo vas a poder ocultar ya que el navegador lo tiene que conocer, y si el navegador lo conoce hay herramientas de sobras para analizarlo.

Flash es una apestosa opción.

Otra apestosa es convertir toda la web en una imagen y mostrar sólo la imagen.

Puedes usar javascript para ofuscar y escribir el código, pero tampoco es una buena opción. Por ejemplo, la primera que he encontrado: http://www.hackingballz.com/herramienta ... digos.html . Seguro que hay cosas hechas que lo compliquen más.

Sea como sea, se va a dificultar la navegación, la compatibilidad y/o la accesibilidad, y si se ponen a sacar el código lo van a sacar. Ojo, el html, no el php u otros lenguajes de lado del servidor.

Es una muy mala idea, a ver si tienes suerte y les entra en la cabeza. Por cierto, que no sé que pinta en Software Libre cuando se trata de todo lo contrario.
No hay manera como tal, así lo hagas en java o flash existen decompiladores que pueden pasar sobre la ofuscación. No seria mejor explicarles que aunque tengan acceso al html/css/js, poco podrán hacer ya que no pueden tener acceso al codigo php del servidor que es el que genera las paginas y no les funcionaria el sitio web como deberia si alguien viene y lo copia?.

O puedes optar por otra opción y mentirles :-| ya que practicamente te están pidiendo que les mientas y les desarrolles una pagina web sin mostrar el codigo, lo cual es *imposible* ya que el navegador web necesita tener acceso al html para poder mostrar la pagina. En fin tu decides si lo ofuscas (cosa inutil a mi parecer, pero que puede dejarlos tranquilos a medias), o los hagas entrar en razon ya que lo que piden es un disparate.

Esto ya tiene que ver poco con software libre, ya que el uso no es de lo más libre que digamos.

EDIT: se me adelantaron, soy muy lento escribiendo respuestas [+risas]
Si lo siento me equivoque esto debia de ir en general y no en software libre.

Con respecto al tema todos tienen razon, no tiene sentido lo que pretenden, pero de algo sirvio algunos ya me dieron ideas para mas argumentos que esgrimir ya si se ponen necios pues una ofuscacion sencilla que los tenga tranquilos y ya, para que no molesten tanto.

Gracias por sus respuestas, saludos. :)
¿Por que los jefes con total desconocimiento de informática se empeñan que se hagan cosas que no se pueden hacer?

En cuanto a ofuscar código, es una chorrada, pegándolo en Eclipse y pulsando Control + F tienes un código totalmente legible, por poner un ejemplo...

De todas formas, como ya comentan, intenta explicarle que copiar el html resultante es poco útil, que lo verdaderamente importante es el código servidor (php, jsp, asp...).
elchicosinhada escribió:¿Por que los jefes con total desconocimiento de informática se empeñan que se hagan cosas que no se pueden hacer?

En cuanto a ofuscar código, es una chorrada, pegándolo en Eclipse y pulsando Control + F tienes un código totalmente legible, por poner un ejemplo...

De todas formas, como ya comentan, intenta explicarle que copiar el html resultante es poco útil, que lo verdaderamente importante es el código servidor (php, jsp, asp...).

Sorprendido, hállome... :O

Si tienes bemoles de entender qué demonios hace este código, ole tus webs:
(function(){function ba(a){throw a;}
2var h=true,i=null,k=false;function ca(){return function(a){return a}}
3function ea(){return function(){}}
4function fa(a){return function(b){this[a]=b}}
5function l(a){return function(){return this[a]}}
6function ga(a){return function(){return a}}
7var n,ha=[];function ia(a){return function(){return ha[a].apply(this,arguments)}}
8var ja=this,ka=function(a,b,c){a=a.split(".");c=c||ja;!(a[0]in c)&&c.execScript&&c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)if(!a.length&&p(b))c[d]=b;else c=c[d]?c[d]:(c[d]={})},
9q=ea(),la=function(a){a.fa=function(){return a.j||(a.j=new a)}},
10ma=function(a){var b=typeof a;if(b=="object")if(a){if(a instanceof Array||!(a instanceof Object)&&Object.prototype.toString.call(a)=="[object Array]"||typeof a.length=="number"&&typeof a.splice!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("splice"))return"array";if(!(a instanceof Object)&&(Object.prototype.toString.call(a)=="[object Function]"||typeof a.call!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("call")))return"function"}else return"null";
11else if(b=="function"&&typeof a.call=="undefined")return"object";return b},
12p=function(a){return a!==undefined}

Sinceramente, si te lo han pedido es porque algo entienden. Y tienen miedo de que enreden con, por ejemplo, llamadas AJAX hacia el servidor desde, por ejemplo, el firebug.
Ofuscar el código javascript no es una mala idea. No sólo elimina las ganas de enredar de la gente, sino que encima reduce las líneas de código. Si le dices eso mismo a tus jefes quedarás estupendamente y encima, ellos estarán contentos ;)

Un saludo!
(function(){function ba(a){throw a;}
2var h=true,i=null,k=false;function ca(){return function(a){return a}}
3function ea(){return function(){}}
4function fa(a){return function(b){this[a]=b}}
5function l(a){return function(){return this[a]}}
6function ga(a){return function(){return a}}
7var n,ha=[];function ia(a){return function(){return ha[a].apply(this,arguments)}}
8var ja=this,ka=function(a,b,c){a=a.split(".");c=c||ja;!(a[0]in c)&&c.execScript&&c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)if(!a.length&&p(b))c[d]=b;else c=c[d]?c[d]:(c[d]={})},
9q=ea(),la=function(a){a.fa=function(){return a.j||(a.j=new a)}},
10ma=function(a){var b=typeof a;if(b=="object")if(a){if(a instanceof Array||!(a instanceof Object)&&Object.prototype.toString.call(a)=="[object Array]"||typeof a.length=="number"&&typeof a.splice!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("splice"))return"array";if(!(a instanceof Object)&&(Object.prototype.toString.call(a)=="[object Function]"||typeof a.call!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("call")))return"function"}else return"null";
11else if(b=="function"&&typeof a.call=="undefined")return"object";return b},
12p=function(a){return a!==undefined}

Yo por mi parte desconozco de donde sale este código que nos has pegado, lo que tengo claro es que para posicionar una web con ese código o con uno ofuscado o encriptado, debe ser misión imposible.

Además ese código parece no estar completo, no veo referencias hacía ningún archivo y lógicamente si ese código trabaja con un servidor de por medio pues el código está "protegido". Ya que el servidor interpretaría el código y se lo daría resuelto al navegador.

No entiendo la manía de ocultar un código que seguro que ya existe en la red. La mayoría de código que usamos son realizados por otros desarrolladores y gracias a sus códigos podemos realizar nuestras webs sin tener que programarlas completamente.
Así que a no ser que alguien tenga la fórmula mágica que utiliza el buscador de Google, me parece una paranoia el pensar que alguien pueda estar interesado en nuestro código web.
elchicosinhada escribió:¿Por que los jefes con total desconocimiento de informática se empeñan que se hagan cosas que no se pueden hacer?

En cuanto a ofuscar código, es una chorrada, pegándolo en Eclipse y pulsando Control + F tienes un código totalmente legible, por poner un ejemplo...

De todas formas, como ya comentan, intenta explicarle que copiar el html resultante es poco útil, que lo verdaderamente importante es el código servidor (php, jsp, asp...).



el necio de mi exjefe una vez me viene corriendo para decirme que tenia que enviar una cosa por email, y yo le digo que vale que me diga que es y se lo mando, pues el lumbreras me vino con un dvd y me dijo que lo enviase (el contenido, no el dvd, tan tonto no era) que era muy urgente, y hablo de hace años cuando enviar 5 megas por email era toda una odisea, asi que imaginaros, y lo peor es que me costo mucho convencerle que eso era inviable.
el necio de mi exjefe una vez me viene corriendo para decirme que tenia que enviar una cosa por email, y yo le digo que vale que me diga que es y se lo mando, pues el lumbreras me vino con un dvd y me dijo que lo enviase (el contenido, no el dvd, tan tonto no era) que era muy urgente, y hablo de hace años cuando enviar 5 megas por email era toda una odisea, asi que imaginaros, y lo peor es que me costo mucho convencerle que eso era inviable.

XD Yo he tenido varias movidas de ese tipo con algunos de mis exjefes. Por ejemplo, el ver como un día llego y me veo a uno de ellos muy enfadado y soltando tacos delante de la pantalla y cuando me acerco y le pregunto qué pasaba, me suelta que está intentando eliminar la carpeta Windows para según él formatear el equipo :O :-?

No lo estaba haciendo desde DOS que podría tener un pase, sino desde el propio Windows.
Lógicamente a parte de la burrada que estaba intentando realizar sus tacos eran porque el ordenador le indicaba que tales archivos estaban siendo usados por el sistema y que por supuesto no permitía borrarlos.
Pues bien, explicale esto a un ingeniero informático (supuestamente) experto en programación sin que se sienta ofendido. Como supondreis no fué nada fácil.

Hay veces que me preguntaba si ese tio había sido puesto a dedo por pertenecer a algún partido político o algo así. Más tarde pude comprobar que el super jefe informático que estaba por encima de todos nosotros era mucho peor y que efectivamente todos habían sido puestos a dedo. Vivían de gente de practicas que eran super explotados a los que prometían quedarse en la empresa a cambio de sacarles de todos los marrones que surgían. Afortunadamente esa empresa ya no existe y cambió de dueños, no se como seguirá el asunto.
zerpe escribió:Sinceramente, si te lo han pedido es porque algo entienden. Y tienen miedo de que enreden con, por ejemplo, llamadas AJAX hacia el servidor desde, por ejemplo, el firebug.
Ofuscar el código javascript no es una mala idea. No sólo elimina las ganas de enredar de la gente, sino que encima reduce las líneas de código. Si le dices eso mismo a tus jefes quedarás estupendamente y encima, ellos estarán contentos ;)

Un saludo!


Sinceramente, si es por eso, entonces su servidor está configurado como el puto culo, sin validaciones de datos de entrada ni de autorización ni autenticación ni seguridad ninguna.

Yo me inclino más por el "no tienen ni puta idea" XD
Tu problema no es de indole tecnica, sino psicologica.

A este tipo de papanatas hay que verlos venir... hacer lo que se pueda buenamente y luego explicarles que el código que se ve, no tiene relación con el que ejecuta realmente la página.

FIJO que cuela y que son completamente incapaces de comprobarlo. Pretender que esta gente entienda conceptos tan simples como "codigo generado por php" es como explicar geometría plana a un ficus
Y a todo esto, qué tipo de web/aplicación-web es esa?
Ya te han respondido todo lo que es menester, así que ya solo queda que nos comentes eso como curiosidad xD
Bueno, primero gracias a todos por tomarse la molestia de contestar.

Baya que me he reído mucho con algunas anécdotas que han contado por ahí, y ya que hablamos de esto yo les voy a contar una que aunque no me paso a mi si le paso a un compañero de trabajo ya hace un tiempo y en un empleo anterior al actual, bueno pues resulta que el estaba dando soporte a un cliente (un restaurante) y trataban de resolver un problema y bueno aquí un dialogo de lo que recuerdo:

compañero: cierre todas las ventanas y reinicie
cliente: como? todas?
compañero: si
cliente: es que son muchas
compañero: pues cuantas tiene abiertas
cliente: huy como 100
compañero: pues cierrelas todas y reinicie
cliente: esta hablando de las ventanas del restaurante verdad?
aqui mi compañero pone en espera la llamada y se pone a reír a carcajadas y nos lo cuenta imagínense si se hubiera puesto a cerrar las ventanas del lugar jajajajaja XD

bueno volviendo al tema la aplicación de la que se trata es de poner en linea un servicio de reportes y consulta de información y maneja bastante interacción con el usuario la parte sensible como conexion con BD y consulta a BD, vaidacion de usuarios esta en php por lo que esta seguro (ademas de haber echo las pertinenetes validaciones al pedir datos al usuario para evitar eso de code injection) pero otra parte esta en javascript y es lo que les preocupaba ya se tranquilizaron con la ofuscación les explique mucho de lo que aqui comentaron y bueno ya están digamos que conformes.

saludos. :)
13 respuestas