2008-10-31 6 views
6

¿Es posible determinar si se está accediendo a mi sitio web como un sitio de confianza? En another question, determinamos que, en general, no es prudente tener visibilidad para la configuración de IE del cliente. ¿Esto calificaría como una excepción?¿Cómo detectar si IE accede a mi sitio como un sitio de confianza?

La razón por la que me gustaría hacer esto es que algunas funciones no funcionarán a menos que se acceda al sitio como un sitio de confianza (por ejemplo, sendmail del lado del cliente - no pregunte), y me gustaría para poder advertir a los usuarios. A pesar de muchas advertencias en las páginas, muchos usuarios aún no leen y nos envían desagradablemente. Nos gustaría reducir el volumen del correo electrónico detectando esta condición y mostrando una gran advertencia que básicamente dice "¡No leíste las advertencias y lo que intentas hacer no funcionará hasta que cambies la configuración!" "Cualquier idea es bienvenida.

EDITAR: En nuestra tienda, sendmail del lado del cliente solo funciona si el sitio es confiable, y no puedo cambiarlo debido a los requisitos de seguridad, ni puedo cambiar al servidor sendmail del servidor. Sin embargo, esta no es la única razón por la que el sendmail del lado del cliente fallará, por lo que simplemente no puedo detectar un error de sendmail para determinar esto. Además, no quiero que esto se degrade a una discusión de sendmail.

+0

En primer lugar, ¿puede proporcionarnos algún código de muestra para esto? No veo cómo un try/catch no lo resolverá. Segundo, sé que no quieres una guerra en la tecnología/implementación, pero ¿podemos preguntarte por qué estás tratando de enviar un correo electrónico de esta manera? Parece la opción menos estable. – scunliffe

+0

La aplicación es compatible con una parte de un mecanismo de autorización de cambio para múltiples aplicaciones sensibles a Sarbanes-Oxley. La gente de seguridad insiste en que sendmail del lado del cliente es la única manera de evitar falsificar la dirección del remitente. Ningún argumento va a cambiar sus mentes. –

+0

@Ken Paul, ¿tienes alguna idea sobre el sitio de detección de confianza ... por favor también necesito ... –

Respuesta

0

Según tengo entendido, esto no es posible, pero es posible que tenga algunas pruebas de suerte para una condición más específica, como la disponibilidad de la tecnología o tecnologías específicas que necesita. ¿Qué tipo de requisitos tiene su código de cliente en el navegador (ActiveX, Java, scripting, etc.)? Sabiendo que será un muy buen comienzo para averiguar cómo probar el navegador del cliente para el entorno requerido por su código de cliente.

+0

Agregué una explicación de la tecnología que falla en la pregunta. Aunque no estoy seguro de que eso ayude. –

2

Aquí es una prueba que podría utilizar:

function isTrustedIE(){ 
    try{ 
     var test=new ActiveXObject("Scripting.FileSystemObject"); 
    } 
    catch(e){ 
     return false; 
    } 

    return true; 
} 

Esto, por supuesto, un error si el usuario ha desactivado ese particular objeto, incluso en un sitio de confianza.

+0

Lo intenté y no funcionó. Tanto en un sitio de confianza como en uno que no es de confianza, me resultó cierto. Creo que tiene un conjunto diferente de diferencias entre las zonas de confianza y las zonas que no son de confianza en comparación conmigo (y mis usuarios típicos). –

0

Puede solicitar el nombre de usuario del usuario que actualmente está conectado, de lo contrario sabrá que el sitio se encuentra en las zonas de "Sitios de confianza" o "Intranet local".

+0

Estoy trabajando en probar esto y reportaré los resultados. Gracias, esto parece esperanzador. –

+0

Esto no ayudó. La gente está tan acostumbrada a aceptar la advertencia de ActiveX que pude abrir un objeto WShell.Script independientemente de si el sitio era de confianza. –

0

Probablemente, una buena manera de lidiar con esto, mientras sigue apoyando combinaciones inusuales, es probar si un comportamiento específico fue exitoso o no.

Por ejemplo, si lo que necesita hacer

a.innerHTML = "abc"; 

continuación, se puede comprobar si el innerHTML fue cambiado. Desafortunadamente, no puedo asegurarle que todas las características son detectables. Además, intente ... las declaraciones de captura pueden ser muy útiles.

0

En su situación (donde el problema específico que está tratando es un error de sendmail), aún sugeriría detectar el error de sendmail, pero luego dar una respuesta algo más general. "Su correo ha fallado. Pudo haber fallado por alguno de los siguientes motivos" y luego incluir una lista con viñetas, con "no hizo que este sitio sea de confianza" agradable y audaz en la parte superior. Si sendmail está fallando por razones distintas a la desconfianza de su sitio, es posible que sus usuarios también necesiten saberlo al final.

Cuestiones relacionadas