es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Prevenir la vulnerabilidad XSS/Cross-Site Scripting – request.getParameter() en JSP

Estoy buscando remediar la página JSP que tiene múltiples variables con request.getParameter(). ¿Puedes sugerirme por favor cuál es el reemplazo para esto?

“`
<%
if(appStatusId == AppCon.DECLINED) {
String VPC = request.getParameter(constants.PRODUCT_CODE);
%>

String Make = request.getParameter(constants.VEH_MAKE);

String NewUsed = request.getParameter(constants.VEH_NEWUSED);

“`

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para remediar la página JSP que tiene múltiples variables con request.getParameter(), se pueden tomar los siguientes pasos:

    1. Reemplazar el uso de request.getParameter() con una alternativa más segura, como utilizar etiquetas JSTL (Biblioteca de etiquetas estándar de JavaServer Pages) o utilizar un marco de trabajo como Spring MVC.

    Sintaxis de ejemplo para etiquetas JSTL:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    
    <c:set var="VPC" value="${param.productCode}" />
    
    <c:set var="Make" value="${param.vehMake}" />
    
    <c:set var="NewUsed" value="${param.vehNewUsed}" />
    
    1. Utilizar las conversiones o validaciones de tipo de datos apropiadas para prevenir cualquier inyección de datos malintencionados, como ataques XSS (scripting en sitios cruzados).

    Sintaxis de ejemplo para validar tipos de datos con etiquetas JSTL:

    <c:if test="${fn:startsWith(VPC, 'PROD')}">
      <c:set var="VPC" value="${constants.PRODUCT_CODE}" />
    </c:if>
    
    <c:if test="${not empty Make}">
      <c:set var="Make" value="${fn:toUpperCase(Make)}" />
    </c:if>
    
    <c:if test="${fn:length(NewUsed) == 3}">
      <c:set var="NewUsed" value="${NewUsed}" />
    </c:if>
    
    1. Revisar y probar el código exhaustivamente para asegurarse de que sea seguro y libre de cualquier vulnerabilidad potencial.

Comments are closed.