노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.


Upload Fake Image(가짜 이미지, 피싱스크립트) 의 검증


단순히 업로드 파일의 확장자로 구분되지 않는 phishing(피싱)파일을 제거하기 위해서 사용 가능


수천가지 다른 종류의 file type으로 부터 문자열,메타정보와 종류를 판별하는 프로젝트

https://tika.apache.org/ , a content analysis toolkit.

tika-app1.14.jar Library를 다운로드 ( https://tika.apache.org/download.html )


예제 소스

import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.tika.Tika; public class TestMain { public static void main(String[] args) throws Exception { //File f = new File("fakeTest.png"); // text/html //File f = new File("jpgTest.jpg"); // image/jpeg File f = new File("pngTest.png"); // image/png //File f = new File("gifTest.gif"); // image/gif System.out.println( f.toString()); System.out.println( f.getAbsolutePath() ); String allowFileExt = "image/jpg;image/jpeg;image/png;image/gif;"; if ( f.isFile() ) { Tika tika = new Tika(); try { String detectedType = tika.detect( new FileInputStream(f) ); System.out.println("Type : " + detectedType ); if (allowFileExt.indexOf(detectedType) == -1) { throw new Exception("Use only Type : JPG, JPEG, PNG, GIF"); } } catch (IOException e) { e.printStackTrace(); } } else { System.out.println("-not-" ); } } }




'Web Tech. > Spring Framework' 카테고리의 다른 글

Java,  Ip Address 가져오기  (0) 2017.02.07
awk print  (0) 2017.02.01
2개의 war 비교하기  (0) 2017.01.25
2017년 1월 스타트업에서 구인할때 주로 원하는 개발 기술  (0) 2017.01.24
HMAC SHA-256 이해  (0) 2017.01.24
블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,