/********************************************************************************************************* * : UploadedFiles.java : 2003.12.30 : 2003.11.15 **********************************************************************************************************/ package kr.co.kihyun.io; import java.io.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class OPTFileReader { private static final Logger LOG = LoggerFactory.getLogger(OPTFileReader.class); public String fileRead(String fileName) { String line = ""; StringBuffer strbuf = new StringBuffer(); int count = 0; //9.디렉토리 경로 조작(프로퍼티로딩)_CWE-22/23 : Add by KWON,HAN if(fileName.contains("..") || fileName. contains("/")) { // 특수문자열 검증 LOG.debug("9.디렉토리 경로 조작(프로퍼티로딩)_CWE-22/23 : Not Test {}", fileName); strbuf.toString(); } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ try { FileReader fr = new FileReader(fileName); BufferedReader inFile = new BufferedReader(fr); //v2 36.경쟁조건 : 검사시점과 사용시점 (File)_CWE-367 : Update by YOUNGJUN,CHO /* while (true) { line = inFile.readLine(); if (line == null) { break; } strbuf.append(line); count++; } */ while ((line = inFile.readLine()) != null) { strbuf.append(line); count++; } //================================================ return strbuf.toString(); } catch (FileNotFoundException fnfe) { //34.오류메세지를 통한 정보 노출(toString)_CWE-209 : Update by YOUNGJUN,CHO //System.out.println("The file " + fileName + " was not found."); LOG.error("\nThe file {} was not found.", fileName); //================================================ return strbuf.toString(); } catch (IOException ioe) { //34.오류메세지를 통한 정보 노출(toString)_CWE-209 : Update by YOUNGJUN,CHO //System.out.println(exception); LOG.error("\nOPTFileReader fileRead() Exception - {}", ioe.toString()); //================================================ return strbuf.toString(); } catch (ArrayIndexOutOfBoundsException aiobe) { return strbuf.toString(); } } /* * public static void main (String[] args){ TestHtml testHtml = new TestHtml(); * * String html = ""; String fileName = "./sample1.htm"; html = testHtml.fileReader(fileName); * * System.out.println("\n\nhtml: " + html); } */ }