Potential path traversal from request This product is not supported for your selected 
Datadog site . (
).
이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우
 언제든지 연락주시기 바랍니다. 
이 규칙을 사용해 보세요 ID:  java-security/path-traversal-file-read
Language:  Java
Severity:  Error
Category:  Security
CWE : 22 
Description The filename of the file being opened comes from an input parameter. If an unfiltered parameter is passed to the API, any location on the filesystem can be read.
Learn More Non-Compliant Code Examples class  MyClass   { 
 
      @GET 
      @Path ( "/images/{image}" ) 
      @Produces ( "images/*" ) 
      public   Response   getImage ( @javax.ws.rs.PathParam ( "image" )   String   image )   { 
          File   file   =   new   File ( "resources/images/" ,   image );   //Weak point 
 
          if   ( ! file . exists ())   { 
              return   Response . status ( Status . NOT_FOUND ). build (); 
          } 
 
          return   Response . ok (). entity ( new   FileInputStream ( file )). build (); 
      } 
 
 } 
 Compliant Code Examples import   org.apache.commons.io.FilenameUtils ; 
 
 class  MyClass   { 
 
      @GET 
      @Path ( "/images/{image}" ) 
      @Produces ( "images/*" ) 
      public   Response   getImage ( @javax.ws.rs.PathParam ( "image" )   String   image )   { 
          File   file   =   new   File ( "resources/images/" ,   FilenameUtils . getName ( image ));   //Fix 
 
          if   ( ! file . exists ())   { 
              return   Response . status ( Status . NOT_FOUND ). build (); 
          } 
 
          return   Response . ok (). entity ( new   FileInputStream ( file )). build (); 
      } 
 
      @GET 
      @Path ( "/images/{image}" ) 
      @Produces ( "images/*" ) 
      public   Response   getImage ( @javax.ws.rs.PathParam ( "image" )   String   image )   { 
          File   file   =   new   File ( "resources/images/" ,   image2 );   //Weak point 
 
          if   ( ! file . exists ())   { 
              return   Response . status ( Status . NOT_FOUND ). build (); 
          } 
 
          return   Response . ok (). entity ( new   FileInputStream ( file )). build (); 
      } 
 
 } 
 원활한 통합.  Datadog Code Security를 경험해 보세요