2011-07-14 21 views
5

Tengo algunos complementos de jquery alojados en mi servidor, pero me gustaría que estén disponibles solo para mis visitantes ... Otros sitios web pueden ser paranoicos y pueden simplemente vincular mis archivos js y robar mi ancho de banda. ¿Cómo resolverías este problema?¿Cómo puedo evitar que otros sitios se vinculen a mis archivos javascript?

+1

¿Por qué necesitan vincularse a su sitio? ¿Pueden descargarlos muy bien cuando miran su sitio y lo usan bien? – Balanivash

+1

Si tuviera que usar sus complementos, será mejor que descargue ese archivo javascript (si me lo permite) quién sabe: puede cambiar el nombre de su archivo, cambiar la funcionalidad o hacer otras cosas que podrían romper mi sitio. –

+1

Alguien podría comer algo de su ancho de banda; pero, el enlace a su javascript no les permitirá robar su tráfico. De hecho, si crea su javascript correctamente, ¡puede robar su tráfico! – evan

Respuesta

1

siempre se puede ejecutar el código JavaScript a través de un archivo PHP usando .htaccess para encaminar todas las solicitudes a la misma. Si el usuario-agente es diferente de su sitio web, puede enviar un 403, de lo contrario podría usar un archivo_get_contents para devolver el archivo.

esperanza de que ayuda a

plantilla .htaccess útil: CheckSpelling en Opciones -Indexes Opciones + FollowSymLinks

DirectoryIndex index.php 

RewriteEngine on 
RewriteBase /js/ 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)$ /js/index.php?p=$1 [L] 
+0

¿Por qué usar .htaccess para enviarlos a un archivo php que tiene que hacer más trabajo y luego enviarlos a un archivo que les impide usar su script? –

+0

no lo sé, no lo pensé. pero lo uso porque puedo cargar un archivo javascript en él, luego el archivo php lo minimiza y lo empaqueta. Además, tiene un rastreador para evitar que el mismo archivo se cargue dos veces o durante una sola instancia. – topherg

4

Cretae un .htaccess en la raíz de la carpeta de sitio (para Apache o IIS con ISAPI_Rewrite)

Reemplace mysite.com con su dominio recordando que todo. tienen que ser barras invertidas en el RewriteCond y reemplazar con una página que desea enviar a cuando no tratando de robar su ancho de banda

RewriteEngine On 
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC] 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteRule .*\. (js|json)$ http://mysite.com/theif.txt 

y añadir theif.txt a su sitio con el código de abajo (cualquier sitio tratando de robar su código enviará todo lo que hay a los usuarios http://www.yourhtmlsource.com/sitemanagement/bandwidththeft.html lol

top.location = "http://www.yourhtmlsource.com/sitemanagement/bandwidththeft.html";

que pronto desenlazar su guión a partir de ahí la página

3

es posible que pueda para evitar que usan sus archivos javascript d irectly, pero no hay una forma garantizada para evitar que se copien los archivos y usarlos de forma manual, lo que puedo ver ya algunas respuestas Es posible que desee probar esto:

  • utilizar sus archivos javascript por un archivo PHP:

    header("content-type: text/javascript"); 
    if(isset($_GET["name"]) && strpos("yourdomain.com", $_SERVER['HTTP_REFERER'])) 
        echo(file_get_contents("hidden_path_to_js/".$_GET["js_name"]."js")); 
    else 
        die("access denied"); 
    

En la muestra anterior se va a comprobar si se refieren dirección es su sitio web o no, por lo que para el uso de sus js presentar

<script src="get_js_file.php?js_name=jquery"></script> 
+0

Funciona el almacenamiento en caché con esto? – webnat0

+0

@ Webnat0 Creo que podrá guardar en caché agregando algunos más encabezados: encabezado ("Cache-Control: no-cache, must-revalidate"); encabezado ("Expira: sáb, 26 de julio de 2011 05:00:00 GMT"); –

+0

solo por caducidad cuando lo utilizo la función 'date()' para escribir la hora y la fecha exacta más de lo que creo @Pezhvak IMV estaba pensando –

Cuestiones relacionadas