tag style solucionar como change attribute javascript ssl browser detect

javascript - style - Detectar la compatibilidad TLS del navegador



title html (5)

Aquí hay una manera de Crear una imagen con jQuery, y agregar un atributo src, uso un botón de PayPal, ahora todo lo que se debe enviar a PayPal a través de TSL1.2 Espero que esto pueda funcionar

jQuery(''<img />'').on({ load: function() { console.log("support TSL1.2"); }, error: function() { console.log(''no support TSL1.2''); } }).attr(''src'',''https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif'');

Tenemos un sitio web de SSL donde el host ha deshabilitado recientemente los protocolos SSL anteriores, como TLS 1.0 y anteriores. Dependiendo del navegador, el visitante del sitio recibe una página en blanco o un mensaje de error críptico cuando visita el sitio si el navegador que están usando no es compatible con TLS 1.1.

Esperaba crear una página de destino que no esté en el puerto SSL y donde pueda detectar la capacidad del navegador si es compatible con TLS 1.1 y superior. Si no es así, quiero mostrarles un mensaje amigable para actualizar su navegador o usar un navegador diferente.

¿Es esto algo que se puede lograr usando la biblioteca de javascript del lado del cliente? Si es así, entonces ¿qué debería estar usando?

Gracias.


De hecho, no puede comprobar la versión TLS. Tuve que cargar un script desde un sitio que solo es compatible con TLS 1.2 (a diferencia de mi página). Usar la etiqueta de secuencia de comandos HTML simple no le daría ninguna pista de que la secuencia de comandos no se haya cargado. Como resultado, terminé usando la siguiente secuencia de comandos para cargar JS desde un dominio diferente:

$.ajaxSetup({''cache'':true}); $.getScript(''{scriptUrl}'').done(function(){ alert("done"); }).fail(function( jqxhr, settings, exception ) { alert(jqxhr.status); alert(jqxhr.responseText); alert(exception); });

En caso de problemas con TLS, el estado jqxhr.status será 404 para que pueda mostrar un mensaje al usuario.



Pequeña nota Dejando de lado el código, creo que la gente debería saber si le está presentando a su usuario final un mensaje de error con respecto a esto, debe entender que las versiones TLS no solo son una restricción del navegador, sino esencialmente el nivel del SO Debe tenerlo habilitado en su máquina y su navegador debe admitirlo. Puede estar en la última versión de Chrome, pero si en Configuración de Internet (en Windows) se ha desactivado, seguirá teniendo un problema de negociación TLS.


Puedes usar la API proporcionada por https://www.howsmyssl.com/ .

En el siguiente ejemplo, tls_version la tls_version . La comprobación de given_cipher_suites también puede ser una buena idea.

<script> window.parseTLSinfo = function(data) { var version = data.tls_version.split('' ''); console.log( version[0] != ''TLS'' || version[1] < 1.2 ? ''So bad! Your browser only supports '' + data.tls_version + ''. Please upgrade to a browser with TLS 1.2 support.'' : ''All OK. Your browser supports '' + data.tls_version + ''.'' ); console.log(data); }; </script> <script src="https://www.howsmyssl.com/a/check?callback=parseTLSinfo"></script>