Red de conocimiento informático - Material del sitio web - ¿Qué debe hacer jFinal cuando encuentra inyección XSS y SQL?

¿Qué debe hacer jFinal cuando encuentra inyección XSS y SQL?

Escape de los caracteres ilegales antes de que los datos ingresen a la base de datos y restaure los caracteres ilegales al actualizar y mostrar

Escape de los caracteres ilegales al mostrar

Si el proyecto aún está en su infancia, se recomienda utilizar El segundo método: el uso directo de la etiqueta de jstl puede resolver el problema de los caracteres ilegales. Por supuesto, también debe manejar Javascript usted mismo. Escriba un método para analizar los datos obtenidos del servidor y ejecute escapeHTML () a continuación.

Apéndice: Método Javascript:

String.prototype.escapeHTML = function () {

return this.replace(/&/g, '&. ' ).replace(/>/g, '>').replace(/

}

Si el proyecto ya está desarrollado y no desea cambiar drásticamente la página, puede usar el primer método, que requiere el uso de @InitBinder y org.PropertyEditorSupport de Spring MVC. En este caso puedes utilizar el primer método. StringEscapeUtils

clase pública StringEscapeEditor extiende PropertyEditorSupport {

escape booleano privadoHTML;

escape booleano privadoJavaScript;

escape booleano privadoSQL;

public StringEscapeEditor() { super();

public StringEscapeEditor(boolean escapeHTML, boolean escapeJavaScript, boolean escapeSQL) {

super(); p>this.escapeHTML = escapeHTML;

this.escapeJavaScript = escapeJavaScript;

this.escapeSQL = escapeSQL;

}

@Override

public void setAsText(String text) {

if (texto == null) {

setValue(null);