Javascript y jQuery no están seguros a través de https

8

Estoy creando una aplicación ASP.NET MVC 3 que se ejecutará en Azure. Todo funcionaba bien, hasta que cambié a https. Ahora, la mayoría de mis complementos de jQuery y algunos otros javascript no son seguros.

Estoy utilizando la biblioteca Datatables, así como jsTree, watermaks y breadcrumbs. La mayor parte de este guión es para hacer que nuestro sitio se vea atractivo.

¿Hay alguna manera de hacer esto seguro? ¿O es hora de mover un sitio javascript muy magro?

¡Gracias por la ayuda!

    
pregunta James 01.02.2012 - 20:43
fuente

2 respuestas

11

Sirvo todo mi sitio a través de https, incluido jquery.

El truco es usar un CDN para jQuery que admita https, o implementar el código en su propio sitio e incluirlo desde su dominio. En código, por ejemplo:

<script type="text/javascript" 
        src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

Funcionabienysemostrarácomounelementoseguro.

Ahora,¿esrealmenteseguro?Bueno,generalmenteconfíoenlasAPIdeGooglecomoCDNyelcontenidoquetengonoestanimportante;sinembargo,siquisieraasegurarmedetenerelcontroltotaldelaimplementacióndejQuery,podríaalojarloyomismo:

<scripttype="text/javascript" 
        src="https://mysite.com/static/js/jquery.min.js"></script>

Ambos funcionarán bien. Conclusión: no tiene tener para implementar jQuery desde el CDN, sin embargo, si desea, al menos uno de ellos admite https (otros pueden, no busqué más).

Un punto a considerar: una de las razones para acceder al código desde la CDN fue tener siempre la última versión del código jQuery. Al implementarlo usted mismo, pierde esta inmediatez: también obtiene un ligero búfer contra la ruptura de actualizaciones, aunque con suerte eso no debería ser un problema.

    
respondido por el user2213 01.02.2012 - 20:53
fuente
0

Pasar a un sitio de JavaScript magro puede ser una buena idea, al menos de esa manera puedes auditar el JavaScript más fácilmente y hay mucho menos área de ataque, sin embargo, debes ser competente al escribir el código.

Lo que me lleva al otro punto, ¿qué es precisamente con jQuery que no es seguro? ¿Es solo una advertencia sobre el contenido inseguro en la página? Todo lo que significa es que no está cargando JavaScript o similar a través de HTTPS, lo que debería estar haciendo desde una copia almacenada en el mismo servidor. De esta forma, puede auditar esa copia. podría valer la pena eliminar cualquier clase de JavaScript y funciones que no se usen realmente de jQuery (dudo mucho que lo esté usando), tendremos que generar una lista de todas las funciones llamadas todas las funciones a las que podrían llamar ... para hacer esto ..

    
respondido por el ewanm89 01.02.2012 - 20:55
fuente

Lea otras preguntas en las etiquetas