Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:一个接受字符串作为参数的方法,什么样的输入验证会使该方法具有可防御性?_Java_String_Validation_Defensive Programming - Fatal编程技术网

Java:一个接受字符串作为参数的方法,什么样的输入验证会使该方法具有可防御性?

Java:一个接受字符串作为参数的方法,什么样的输入验证会使该方法具有可防御性?,java,string,validation,defensive-programming,Java,String,Validation,Defensive Programming,家庭作业问题:我在一次关于安全编码的测验中遇到了这个问题: 在java中创建接受字符串并将其与预定义值进行比较的可防御方法时,什么样的输入验证会使该方法具有可防御性 public static final String SLIDES="Slides"; public static final boolean isAcceptableType(String type){ if(________________________________){ return false; } if(!type.

家庭作业问题:我在一次关于安全编码的测验中遇到了这个问题

在java中创建接受字符串并将其与预定义值进行比较的可防御方法时,什么样的输入验证会使该方法具有可防御性

public static final String SLIDES="Slides";

public static final boolean isAcceptableType(String type){
if(________________________________){
return false;
}
if(!type.equals(SLIDES){
return false;
}
return true;
}
我的目标是填充if条件,使方法具有可防御性。 我无法更改其他代码

根据我的理解,我们必须验证方法参数,以检查其是否为有效字符串。这样,在与幻灯片进行比较时,它不会抛出任何异常

我尝试了if(type==null),但结果不正确

请帮我回答这个问题。:)

原因不明

if (type == null)
不起作用

如果您的目标是确保
类型
等于
幻灯片
,则您可以使用:

if (!Objects.equals(type, SLIDES))


两者都将处理
type==null

使用空格的情况。答案是:
type==null
。例如:

if(type == null){
   return false;

“防御”什么?您只是问如何检查
类型
是否等于
幻灯片
<代码>返回对象。等于(类型、幻灯片)是最简单的方法。想想什么会破坏这种方法。如果
type.equals(SLIDES)
,它基本上会返回true-在什么情况下调用会中断/导致异常?您尝试了
if(type==null)
,但得到了不正确的结果?你得到了什么结果?你想得到什么样的结果?“可辩护的”不是一个常见的术语。如果这是一个家庭作业问题,那么请分享您为它给出的任何定义。这是关于侧通道攻击,并确保所花费的时间不依赖于输入字符串吗?不过,这在功能上相当于在第一个空格中添加一个空检查,并且该答案被拒绝。我想除了填空以外,别的什么都不允许。这个问题有点不清楚。
if(type == null){
   return false;