Foros del Web » Programando para Internet » Javascript »

Encriptar HTML

Estas en el tema de Encriptar HTML en el foro de Javascript en Foros del Web. Saludos, Tengo un codigo javascript el cual permite encribar el codigo html para hacerlo menos facil de ver a simple vista. Lo que quiero es ...
  #1 (permalink)  
Antiguo 11/10/2009, 03:00
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Encriptar HTML

Saludos,
Tengo un codigo javascript el cual permite encribar el codigo html para hacerlo menos facil de ver a simple vista.

Lo que quiero es saber si alguien me puede ayudar para hacer que este javascript se ejecute automaticamente en una seccion especial de mi web.

El codigo que tengo es el siguiente:

Código:
<!-- Sencillo script para encriptar el código HTML, y así evitar que los curiosos lo copien de forma simple. Incorpora una ventana de texto donde escribir o pegar el HTML, con la posibilidad de una vez encriptado previsualizar el resultado. Tambien se puede volver al código HTML a partir del encriptado. Para facilitar la edición posterior hay un boton de selección que copia el código al portapapeles. -->
<html>
<head>
<!-- PRIMER PASO: Copiar dentro del tag HEAD -->
<script type="text/javascript">
<!--

// -- iniciamos la variable del número de veces encriptada
var as=0;
// -- creamos la función para la Encriptación
function codificar() 
{
codigo = document.form.texto.value;
if (codigo)
{
document.form.texto.value='Encriptando.... un momento por favor!'; // -- Mensaje en la caja de texto
setTimeout("compilar()",1500); // -- Tiempo que muestra el mensaje 1,5 segundos
}
// -- Pulsamos Encriptar con la caja de texto vacia
else alert('Antes de pulsar Encriptar debes escribir el código HTML') // -- Mensaje de aviso de caja vacia
}
// -- Creamos la función que escribe el código en la caja de texto
function compilar()
{
document.form.texto.value='';
compilado=escape(codigo);
document.form.texto.value="<script>\n<!--\ndocument.write(unescape(\""+compilado+"\"));\n//-->\n<\/script>";
// -- Averiguamos el número de veces que ha sido encriptada
as++;
if (as=1) alert("Página encriptada!"); // -- Si es la primera encriptación
else alert("Página encriptada "+as+" veces!"); // -- Si se ha encriptado más de una vez
}
// -- Creamos la función de selección del texto en la caja
function seleccionar()
{
if(document.form.texto.value.length>0)
{
document.form.texto.focus();
document.form.texto.select();
}
else alert('No hay nada para seleccionar') // -- Mensaje si la caja de texto esta vacia
}
// -- Creamos la función de previsualización en una ventana nueva
function previsualizar()
{
if(document.form.texto.value.length>0)
{
previo=window.open("","Previsualizar","scrollbars=1,menubar=1,status=1,width=640,height=320,left=100,top=100"); // -- Crea la ventana, las medidas son editables
previo.document.write(document.form.texto.value);
}
else alert('No hay nada para previsualizar') // -- Mensaje si la caja de texto no contiene ningun código
}
// -- Creamos la función para desencriptar el código
function decompilar()
{
if (document.form.texto.value.length>0)
{
decompilado=unescape(document.form.texto.value);
document.form.texto.value=""+decompilado+"";
}
else alert('No hay nada para desencriptar') // -- Mensaje si la caja de texto no contiene ningun código
}
// Final del script
// -->
</script>
</head>
<body>
<!-- SEGUNDO PASO: Copiar dentro del tag BODY -->
<form method="post" name="form" align="center">
<div align="center">
<textarea rows="10" name="texto" cols="60"></textarea name="texto"><br> <!-- Caja de texto -->
<br>
<br>
<input type="button" value="Encriptar" onclick="codificar()"> <!-- Boton encriptar anidado a la función codificar del script -->
<input type="button" value="Previsualizar" onclick="previsualizar()"> <!-- Boton previsualizar anidado a la función previsualizar del script -->
<input type="button" value="Seleccionar" onclick="seleccionar()"> <!-- Boton selecciónar anidado a la función seleccionar del script -->
<input type="button" value="Desencriptar" onclick="decompilar()"> <!-- Boton desencriptar anidado a la función decompilar del script -->
<input type="reset" value="Borrar"> <!-- Boton borrar para eliminar el contenido de la caja -->
</div>
</form>
</body>
</html>
Como pueden ver, es mediante un form que encripta el html.
Yo lo que quiero es que cuando alguien ingrese a mi web automaticamente el codigo este encriptado.

=========
Primero que nada hago una consulta a mi base de datos, despues de alli sale el script, ejemplo:

<tr><td><b>No copiar esto</b></td></tr>

Y pues quiero que sea eso que sale de mi base de datos lo que este encriptado automaticamente en mi web, sin necesidad de un form.

Gracias ;)
__________________
<?PHP if( nuevo() ) {
echo 'Bienvenid@ a ForosDelWeb, seguro que tus dudas seran bien respondidas y que tu ayuda sera bien agradecida.';
} ?>
  #2 (permalink)  
Antiguo 11/10/2009, 07:51
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Encriptar HTML

Hola

Fíjate que en javascript estás usando las funciones escape y unescape, pues igualmente puedes usarla del lado del servidor

<textarea><?=escape(registro)?></textarea>

¿o no te he entendido?

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 11/10/2009, 09:00
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Encriptar HTML

:o no habia visto eso! voy a probar y gracias :D

El problema es que el script no lo hice yo, lo tengo en mi pc pero no fue creado por mi.

Muchas gracias y voy a intentar eso que dices, espero funcione :D

Una cosa mas

Sale esto:

codigo = document.form.texto.value;

Significa que el codigo lo esta tomando del form, como puedo hacer para que el codigo sea el que yo quiera? solo tengo que editar y hacer codigo= '<iframe... src... >'; ???
__________________
<?PHP if( nuevo() ) {
echo 'Bienvenid@ a ForosDelWeb, seguro que tus dudas seran bien respondidas y que tu ayuda sera bien agradecida.';
} ?>
  #4 (permalink)  
Antiguo 11/10/2009, 13:04
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Encriptar HTML

Cita:
Iniciado por TxT Ver Mensaje
Una cosa mas

Sale esto:

codigo = document.form.texto.value;

Significa que el codigo lo esta tomando del form, como puedo hacer para que el codigo sea el que yo quiera? solo tengo que editar y hacer codigo= '<iframe... src... >'; ???
Sí, claro puedes darle el valor que quieras a la variable, e incluso llenarla con datos de tu bd, que creo que era lo que te ocupaba

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 11/10/2009, 13:12
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Encriptar HTML

Exactamente.

Bueno muchas gracias y voy a probar a ver si logro conseguirlo, si no lo logro pues posteare lo que hice a ver que esta mal :)

Gracias nuevamente :)

=====
Estuve revisando un poco el codigo mas detalladamente y pues creo ya entender como hacerlo

Solo necesito de esta funcion en realidad:
Cita:
function compilar()
{
document.form.texto.value='';
compilado=escape(codigo);
document.form.texto.value="<script>\n<!--\ndocument.write(unescape(\""+compilado+"\"));\n//-->\n<\/script>";
}
Ahora... como puedo llamar dicha funcion, en php se que como pero en javascript como llamo la fucion ? supongo que debo poner function compilar($texto) o algo asi no?
Segundo.. como hago para que el codigo salga como un echo, es decir no en form.texto.value, sino en la web directamente, es decir, el codigo ya compilado en ejecucion?
__________________
<?PHP if( nuevo() ) {
echo 'Bienvenid@ a ForosDelWeb, seguro que tus dudas seran bien respondidas y que tu ayuda sera bien agradecida.';
} ?>

Última edición por TxT; 11/10/2009 a las 13:37
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:22.