Como evitar el Clickjacking en nuestra web (JavaScript)

Hola que tal , ya tenia años sin pasarme por el foro , y en esta ocacion les enseñara a evitar que cargen nuestras paginas web de manera externa dentro de un Frame ...

Segun Roobio:
El clickjacking no es un agujero de seguridad en si mismo, es una forma de darle la vuelta a las tecnologías que utilizamos hoy en día, para engañar al usuario y hacerle creer que ciertas cosas, son lo que realmente no son.

Este ataque consiste en cargar una página web externa dentro de un iframe invisible (con opacidad 0, por ejemplo) y poner debajo del iframe invisible (con menor z-index), elementos xhtml para que el usuario haga click, pero que realmente, tienen el iframe invisible encima, y es quien recibirá el click.

Ahora bien , para evitar todo este rollo basta con insertar el siguiente codigo dentro de nuestra web
<script type="text/javascript">
if (top.location != location) top.location = self.location;
</script>

Analizando el codigo
if (top.location != location) - Si la propiedad location del frame actual NO es igual a la propiedad location del frame superior suponemos que nuestra pagina esta siendo cargada dentro de manera externa dentro de un frame , por lo cual procedemos a redirigir a la direccion de nuestra pagina (self.location)

EJEMPLO

Tengo una pagina de prueba que es

http://fxln.co.cc/index2.php

A la cual la he protegido con el codigo anterior :D

Ahora , supongamos que algun gañan de otra web , quiere cargar algun contenido de nuestra pagina mediante un frame y mostrarla en su pagina web .... en la siguiente dirección

http://transfusionradio.co.cc/samples/

Vemos que automaticamente nos redireccionara a la pagina web protegida :D

Espero les sirva de algo este pequeño codigo , pronto les enseñare mas metodos para que nuestras paginas sean mas seguras ...
Saludos !
Es interesante esta proteccion, dado que a muchas personas no les gustaria que sus contenidos fueran copiados, aunque el uso de frames esta cada vez mas abandonado para webs con contenido, aun asi el contenido de cualquier web es casi imposible de proteger y puede ser copiado y modificado casi automaticamente.

http://www.cctw.aportaciones.net/copia.php

Aun asi es interesante pero recordemos que todo lo que en internet se puede ver es practicamente copiable, asi que si publicamos algo debemos entender que abra personas que lo copiaran, solo esperemos que almenos pongan la referencia de la fuente.
Hola serverdns . Estoy conciente de que todo lo que se pueda ver en la web , se puede copiar :D ... Pero este script va un poco mas aya de una simple copia al contenido de la web o codigo ...

Supongamos que CCTW lanza una votacion en donde Juanito, Pepito y Jorgito estan en un concurso por quien se ganara un hosting , y para casa usuario se la asigna una url para que lo voten ...

Juanito ---> http://localhost/votacion.php?id=893
Pepito ----> http://localhost/votacion.php?id=419
Jorgito --- > http://localhost/votacion.php?id=603

Ahora , Si jorgito fuera yo y quisiera jugar rudo lo que haria seria , Cargar un iframe con mi URL de votacion y lo insertaria en mi pagina web personal (si es que la tuviera) Hago transparente el iframe y debajo del mismo pongo una imagen que llame la atencion al usuario y posisiono el boton de votar justo arriba de la imagen llamativa , Asi al momento de que el usuario Da click en la imagen llamativa en realidad estara dando Click en el boton de VOTAR ... Perooooooo si dentro de la pagina de CCTW estuviera implementado el codigo para evitar el Clickjacking este ataque no tendria efecto ... Imaginate todo lo que se podria hacer :D

Espero no me haya liado mas jeje y espero haber sido lo mas explisito posible , para que quede claro mi punto y la aplicacion que puede tener.....


Saludos !