라벨이 php 파일업로드인 게시물 표시전체 보기

항상 이슈가 되는 건 파일 업로드 취약점을 이용하는 공격입니다. 다중 파일 확장자 취약점 아파치 문서에 나와 있는 내용으로 지시어 extension 부분을 보면 아래와 같이 설명하고 있습니다. (출처: https://httpd.apache.org/docs/2.4/ko/mod/directive-dict.html ) 일반적으로 filename에서 마지막 마침표 뒤에 나오는 부분이다. 그러나 아파치는 여러 확장자를 인식할 수 있기 때문에, filename에 마침표가 여러 개 포함된 …

Read more »

이미지를 작은 이미지로 변환한 문자열을 Mysql에 저장하는 방법을 소개합니다. 큰 이미지를 저장하기에는 무리가 있으나 작은 이미지로 변환한 문자열을 Mysql 에 저장하면 속도 면에서 오히려 더 빠를 수 있습니다. 먼저 Mysql 테이블을 만듭니다. CREATE TABLE `images` ( `id` int(10) NOT NULL, `type` char(4) NOT NULL, `thumbs` blob NOT NULL ) ENGINE=MyISAM DEFAUL…

Read more »

Content-Range 헤더는 파일 다운로드 이어받기 할 때 필요한 부분입니다. 동시에 $_SERVER['HTTP_RANGE'] 변수를 같이 사용하고 이로서 이어받기가 가능해집니다. 헤더부분은 Content-Range: bytes 다운받은 크기/전체크기 로 표현합니다. 다음을 참고하면 이해되리라 봅니다. ( 참고 문서 ) Actual result: -------------- $ telnet dev.conduit-it.com 80 Trying 10.42.…

Read more »

파일 업로드시 php 나 html 등 위험한 파일은 보통 제한하게 됩니다. 그래서 다양한 방법으로 허용가능 파일인지 체크 스크립트를 작성해 주는데, 문제는 잘못된 방법으로 개발자도 모르는 우회하여 파일을 업로드 됩니다. 예를 들어 다음과 같을 것입니다. <?php $filename = "test.php."; $ext = array_pop(explode(".", strtolower($filename))); if(preg_mat…

Read more »

파일 다운로드 예제입니다. <?php $filename = 'test.php'; header("Cache-control: private"); header("Content-type: ".user_mime_content_type($filename)); header("Content-Disposition: attachment; filename=".$filename); header("…

Read more »

복수의 파일은 input에서 다른 name을 사용하거나 배열로 조직화한 정보를 얻을 수 있는데, 다중 파일 업로드 폼은 다음의 조건으로 구성할 수 있습니다. <form action="file-upload.php" enctype="multipart/form-data" method="post"> <input name="userfile[]" type="file" /> …

Read more »

php는 파일 업로드기능을 제공합니다. RFC-1867 호환 브라우저(넷스케이프 네비게이터 3 이상, 마이크로소프트 인터넷 익스플로러 3+패치나 패치 없이 그 이상 버전을 포함)라면 파일 업로드를 받을 수 있는 기능을 제공합니다.  다음 표의 내용을 php.ini에서 조작할 수 있습니다. 태 그 설 명 file_uploads 업로드 기능을 사용할지를 결정합니다. 기본값 On …

Read more »