2009-05-15 5 views

Respuesta

1

Probablemente para asegurarse de que está devolviendo una cadena. El uso que he visto es tomar entrada y devolver un valor que puede asignar a una variable en javascript.

var message = <% = AntiXss.JavaScriptEncode (mensaje)%>;

Ahora, no importa lo que haya en el mensaje, el mensaje de la variable js tendrá la entrada exacta escapada apropiadamente así que si algún idiota intentara inyectar javascript en ese mensaje simplemente verían el resultado de su mensaje asignado al mensaje variable.

+1

Derecha. Pero más a menudo me encuentro utilizando JavaScriptEncode para codificar la entrada del usuario no confiable que compone * partes * de cadenas y en ese escenario es simplemente molesto para concatenar con '+' o eliminar las cotizaciones manualmente. También argumentaría que este no es el comportamiento que uno esperaría, ya que ninguno de los otros métodos hace algo similar (por ejemplo, HtmlAttributeEncode no ajusta el resultado entre comillas dobles). –

+2

No podría estar más de acuerdo. Muy molesto – Erlend

Cuestiones relacionadas