使用ESAPI getValidInput方法

abc*_*abc 0 java esapi

我无法使用在ESAPI类“ 下存在的方法”

    java.lang.String getValidInput(java.lang.String context,
                                  java.lang.String input,
                                  java.lang.String type,
                                  int maxLength,
                                  boolean allowNull)
                                      throws ValidationException,
                                       IntrusionException

      Parameters:
         type - The regular expression name that maps to the actual regular expression from "ESAPI.properties". 
Run Code Online (Sandbox Code Playgroud)

如何从ESAPI.properties文件传递参数类型?我可以参考使用属性文件值的任何示例吗?

avg*_*tvs 5

这是一个示例电话,其中我正在验证“收件人”地址字段:

validator.getValidInput("toAddress", it.next(), "Email", Email.MAX_ADDRESS_SIZE, true)
Run Code Online (Sandbox Code Playgroud)

ESAPI假定您正在使用IDE或有权访问直接源。如果使用的是Eclipse,只需将鼠标悬停在方法名称上,然后将显示参数类型。

===更新===

这是直接来自javadoc的片段:

/**
     * Returns canonicalized and validated input as a String. Invalid input will generate a descriptive ValidationException,
     * and input that is clearly an attack will generate a descriptive IntrusionException.
     *
     * @param context
     *      A descriptive name of the parameter that you are validating (e.g., LoginPage_UsernameField). This value is used by any logging or error handling that is done with respect to the value passed in.
     * @param input
     *      The actual user input data to validate.
     * @param type
     *      The regular expression name that maps to the actual regular expression from "ESAPI.properties".
     * @param maxLength
     *      The maximum post-canonicalized String length allowed.
     * @param allowNull
     *      If allowNull is true then an input that is NULL or an empty string will be legal. If allowNull is false then NULL or an empty String will throw a ValidationException.
     *
     * @return The canonicalized user input.
     *
     * @throws ValidationException
     * @throws IntrusionException
     */
Run Code Online (Sandbox Code Playgroud)