【问题标题】:Validate an object验证对象
【发布时间】:2017-04-06 23:50:45
【问题描述】:

在我设置对象的代码中,APPScan 会在多个地方抛出 Validation.required 错误。现在对象设置有两种方式:

一)

ExceptionBldr excepBuilder = (ExceptionBldr) session.getAttribute(SN_EXCEPBLDR);

我通过简单地对我从会话中获取的对象进行空检查来解决这个问题。

B)

    PageManager pm;
    HttpServletRequest request = modelContext.getHttpServletRequest();
    ResourceBundle resourceBundle = documentContext.getResourceBundle();
    if (request.getAttribute("PageManager") == null) {
        pm = new PageManager(modelContext, documentContext);
        String title = resourceBundle.getString("Workbench.title");
        if (title == null)
            title = "";
        pm.setPageTitle(title + " " + getInstance(request));            
        pm.setInstanceName(getInstance(modelContext.getHttpServletRequest()));
        pm.setListingName(getListingName());
        request.setAttribute("PageManager", pm);

我可以对所有参数进行空值检查,然后在设置之前对完整对象进行空值检查(我不知道这是否会解决问题)但是有更好的方法吗?我想为所有此类实例编写一个通用类。

部分想法:

a) 验证对象是否属于有效类。

b) 获取类的方法并迭代。

但是如何检查我设置的参数?

也欢迎任何其他类型的建议。

【问题讨论】:

  • 如果有 null 怎么办?设置为空字符串?
  • 如果你能提供完整的样本来帮助你更好,那就太好了。
  • 您可能想阅读这篇文章:Avoiding != null statements
  • 是的,如果为空则返回空

标签: java validation bluemix-app-scan


【解决方案1】:

不是(或除此之外)进行空检查,减轻 Validatoin.required 发现的主要目标是针对恶意输入进行验证。如果可以将任何变量设置为恶意用户可以控制的值,请检查您的代码。应使用白名单验证从系统外部获取的任何输入:https://www.owasp.org/index.php/Input_Validation_Cheat_Sheet#White_List_Input_Validation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2015-10-24
    • 2023-03-23
    • 1970-01-01
    • 2017-10-15
    相关资源
    最近更新 更多