그누보드 게시판이나 에디터에 이미지 파일을 첨부하면 fc6d3ed98d95647bbe9088eba1edef94_nBc20o1M_8f02a30b0f40f933a32db1ba46a0ebdea5bb526c.jpg 암호화한 건지(?) 이런 식으로 파일 이름을 바꿔서 저장하던데, 이게 매우 불편하네요. 왜냐 하면 고객들이 파일을 교체나 수정할 경우 기존 파일을 지우고 해 주면 좋을텐데 그러지 않는 바람에 대용량 첨부 파일을 자주 교체하게 되면, 파일 용량이 짧은 기간에 많이 커져서, 일일이 서버에 찾아 들어가서 삭제해야 하는데 매우 번거롭네요. 이런 작업을 쉽게 할 수 있는 방법이 있으면 좀 알려 주시고, 굳이 파일 이름을 변경하지 않고 저장할 수 있는 방법은 없을까요?
답변 8개
채택된 답변
+20 포인트
2026-07-06 (월) 04:59:08
첨부파일명을 바꿔서 저장하는 이유는 크게 두 가지입니다. 중복 방지와 보안입니다.
예를 들어 여러 사용자가 image.jpg 같은 같은 이름의 파일을 올리면, 원본 이름 그대로 저장할 경우 기존 파일을 덮어쓸 수 있습니다. 또 한글, 공백, 특수문자, 긴 파일명은 서버나 브라우저 환경에 따라 깨지거나 다운로드 문제가 생길 수 있습니다. 그래서 그누보드는 서버에 저장되는 파일명을 안전한 형태로 바꿔 저장하고, 원래 파일명은 DB에 따로 보관하는 방식으로 처리합니다.
원본 파일명 그대로 저장하도록 바꾸는 것도 가능은 합니다. 보통 /bbs/write_update.php 안의 업로드 파일명 생성 부분을 수정하는 방식입니다.
예를 들면 기본 파일명 생성 규칙 대신 이런 식으로 바꿀 수 있습니다.
하지만 이 방식은 운영 사이트에는 별로 권하지 않습니다. 같은 파일명이 다시 올라오면 기존 파일을 덮어쓸 수 있고, 한글 파일명이나 특수문자 파일명에서 FTP, 백업, 다운로드 문제가 생길 수 있습니다.
불편함을 줄이려면 파일명 규칙을 없애기보다 관리자용 파일 관리 화면을 만드는 쪽이 안전합니다. 예를 들어 게시판별 첨부파일 목록에서 원본 파일명, 저장 파일명, 글번호, 등록일, 용량을 보여주고 오래된 미사용 파일을 정리하게 만드는 방식입니다.
정 꼭 원본명으로 저장해야 한다면 전체 게시판에 적용하지 말고 특정 게시판에만 적용하세요. 그리고 같은 파일명이 올라왔을 때 어떻게 처리할지, 한글 파일명은 허용할지부터 정해두는 것이 좋습니다.
예를 들어 여러 사용자가 image.jpg 같은 같은 이름의 파일을 올리면, 원본 이름 그대로 저장할 경우 기존 파일을 덮어쓸 수 있습니다. 또 한글, 공백, 특수문자, 긴 파일명은 서버나 브라우저 환경에 따라 깨지거나 다운로드 문제가 생길 수 있습니다. 그래서 그누보드는 서버에 저장되는 파일명을 안전한 형태로 바꿔 저장하고, 원래 파일명은 DB에 따로 보관하는 방식으로 처리합니다.
원본 파일명 그대로 저장하도록 바꾸는 것도 가능은 합니다. 보통 /bbs/write_update.php 안의 업로드 파일명 생성 부분을 수정하는 방식입니다.
예를 들면 기본 파일명 생성 규칙 대신 이런 식으로 바꿀 수 있습니다.
Copy
$upload[$i]['file'] = urlencode($filename);
하지만 이 방식은 운영 사이트에는 별로 권하지 않습니다. 같은 파일명이 다시 올라오면 기존 파일을 덮어쓸 수 있고, 한글 파일명이나 특수문자 파일명에서 FTP, 백업, 다운로드 문제가 생길 수 있습니다.
불편함을 줄이려면 파일명 규칙을 없애기보다 관리자용 파일 관리 화면을 만드는 쪽이 안전합니다. 예를 들어 게시판별 첨부파일 목록에서 원본 파일명, 저장 파일명, 글번호, 등록일, 용량을 보여주고 오래된 미사용 파일을 정리하게 만드는 방식입니다.
정 꼭 원본명으로 저장해야 한다면 전체 게시판에 적용하지 말고 특정 게시판에만 적용하세요. 그리고 같은 파일명이 올라왔을 때 어떻게 처리할지, 한글 파일명은 허용할지부터 정해두는 것이 좋습니다.
2026-06-23 (화) 15:22:14
그누보드이 파일명은 중복방지 / 보안을 위한 네이밍 입니다
파일관리를 파일명으로 직접하기엔 어려우니
파일관리자 페이지를 만들어 웹상에서 관리하시는것이 좋습니다
1. 서로 다른 사용자가 같은 이름의 파일(예: image.jpg)을 업로드할 경우, 서버에서 기존 파일을 덮어쓰거나 오류가 발생합니다. 고유한 해시값을 사용하여 이런 충돌을 원천적으로 차단하기 때문입니다다.
2. 또한 사용자가 악의적으로 경로가 포함된 파일명(예: ../../etc/passwd)을 업로드할 경우 서버가 해킹당할 위험이 있습니다. 파일명을 서버가 제어하는 안전한 문자열로 바꾸면 이러한 보안 취약점을 방지할 수 있습니다.
3. 파일 이름에 한글, 공백, 특수문자가 포함되어 있으면 웹 서버나 브라우저 환경에 따라 파일 경로를 제대로 인식하지 못하거나 깨지는 현상이 발생합니다. 이를 방지하기 위해 영문과 숫자로 구성된 고유 이름으로 변환합니다.
2. 또한 사용자가 악의적으로 경로가 포함된 파일명(예: ../../etc/passwd)을 업로드할 경우 서버가 해킹당할 위험이 있습니다. 파일명을 서버가 제어하는 안전한 문자열로 바꾸면 이러한 보안 취약점을 방지할 수 있습니다.
3. 파일 이름에 한글, 공백, 특수문자가 포함되어 있으면 웹 서버나 브라우저 환경에 따라 파일 경로를 제대로 인식하지 못하거나 깨지는 현상이 발생합니다. 이를 방지하기 위해 영문과 숫자로 구성된 고유 이름으로 변환합니다.
2026-06-20 (토) 01:26:05
보는 시각에 따라서....
- 프로그래머 측면 : 동일한 파일명으로 업로드하면 덮어쓰니까 방지 치원에서 어마 무시한 랜덤 문자로 치환해서 저장
- 보안 측면 : 게시판 첨부파일에 "견적서.hwp"라고 극비문서(?)가 업로드 되어 있습니다. 그누보드 프로그래머라면 그 파일이 어느폴더에 있는지 다 알고 있습니다. 웹브라우저에 주소입력해서 바로 다운로드 가능합니다. 유료서비스 무력화되겠죠?
- 일반사용자 : 바꿀이유 전혀 없습니다.ㅎㅎㅎ
- 프로그래머 측면 : 동일한 파일명으로 업로드하면 덮어쓰니까 방지 치원에서 어마 무시한 랜덤 문자로 치환해서 저장
- 보안 측면 : 게시판 첨부파일에 "견적서.hwp"라고 극비문서(?)가 업로드 되어 있습니다. 그누보드 프로그래머라면 그 파일이 어느폴더에 있는지 다 알고 있습니다. 웹브라우저에 주소입력해서 바로 다운로드 가능합니다. 유료서비스 무력화되겠죠?
- 일반사용자 : 바꿀이유 전혀 없습니다.ㅎㅎㅎ
2026-06-19 (금) 21:27:36
첩부 파일을 이름을 바궈서 저장 하는 이유는 뭘가요?
->단순하게 그누보드에서는 찾기 편하려구요
A라는 분이 창고에 상자 하나를 맡껴 놓아써요
b라는 분도 창고에 상자 하나를 맡껴 놓아써요
그런데 이것을 찾으려니까 표시가 안되어있네요 그래서 상자를 a상자 b상자라고 하니 찾을 수있네요
그누 보드에는 DB 테이블 중에 g5_board_file 테이블이 있습니다.

여기서 1번째 bo_table 는 홈페이지의 게시판

게시판 생성 할때 쓴 이름 이 들어가요
4번 째 bf_source 에는 첩부한 파일 원본 이름이 들어가죠
5번재 bf_file 에는 위에서 설명한 A상자 라는 이름이 들어가는 거죠
이해 되시나요?
그래서 일일이 서버에 들어가서 찾아서 삭제 한다는 말은 홈페이지 제작이 제데루 안된거라는 거죠
홈페이지에서 게시판을 삭제를 하면
그누 보드 같은 경우에는 bbs/delete.php 에 게시판 삭제시

이런 소스가 있씁니다 그래서 질문하신분이 서버에들어가서 삭제 한다는것은
홈페이소스에 문제가 생겨거나 서버 에서 설정 이 잘못되서 파일 삭제 권한이 없써서
삭제가안되는 오류가있어서 일어나는 일이여요
그러니 홈페이지 제작자에게 제데루 만들어 달라구하시던가
https://sir.kr/jobs/requests
의뢰를 해서 돈 5~30만원 정도 주면 서버 설정 도 해주고 소스가 왜 작동안하는지도 알수있어요
그리고 그러 한 문제로 서버상에 불필요한 첩부파일이 있다고해도
의뢰를 하시면 1시간 안에 왠만 한거는 깔끔히 삭제 할수있씁니다
물론 여기까지 와서 질문 할정도라면 어느정도 지식이있다 하면
직접 할수도 있게지요
그냥 서버 상에 파일 하나만들고 권한 최고권한 으로 한다음에
g5_board_file 테이블과 교차해서 없는 파일은 삭제하라는 소스를 만들면
됩니다
이런것을 하기위래 g5_board_file 에 안에 다가 어떤 게시판에 몇번재 글인지 원본 파일 명은 무엇인지
바꿔서 저장하는 파일명은 무엇있지 다 입력한거든요
자 그러면 추천 좀 주세요 채택 해주시면 더좋구요
->단순하게 그누보드에서는 찾기 편하려구요
A라는 분이 창고에 상자 하나를 맡껴 놓아써요
b라는 분도 창고에 상자 하나를 맡껴 놓아써요
그런데 이것을 찾으려니까 표시가 안되어있네요 그래서 상자를 a상자 b상자라고 하니 찾을 수있네요
그누 보드에는 DB 테이블 중에 g5_board_file 테이블이 있습니다.
여기서 1번째 bo_table 는 홈페이지의 게시판

게시판 생성 할때 쓴 이름 이 들어가요
4번 째 bf_source 에는 첩부한 파일 원본 이름이 들어가죠
5번재 bf_file 에는 위에서 설명한 A상자 라는 이름이 들어가는 거죠
이해 되시나요?
그래서 일일이 서버에 들어가서 찾아서 삭제 한다는 말은 홈페이지 제작이 제데루 안된거라는 거죠
홈페이지에서 게시판을 삭제를 하면
그누 보드 같은 경우에는 bbs/delete.php 에 게시판 삭제시

이런 소스가 있씁니다 그래서 질문하신분이 서버에들어가서 삭제 한다는것은
홈페이소스에 문제가 생겨거나 서버 에서 설정 이 잘못되서 파일 삭제 권한이 없써서
삭제가안되는 오류가있어서 일어나는 일이여요
그러니 홈페이지 제작자에게 제데루 만들어 달라구하시던가
https://sir.kr/jobs/requests
의뢰를 해서 돈 5~30만원 정도 주면 서버 설정 도 해주고 소스가 왜 작동안하는지도 알수있어요
그리고 그러 한 문제로 서버상에 불필요한 첩부파일이 있다고해도
의뢰를 하시면 1시간 안에 왠만 한거는 깔끔히 삭제 할수있씁니다
물론 여기까지 와서 질문 할정도라면 어느정도 지식이있다 하면
직접 할수도 있게지요
그냥 서버 상에 파일 하나만들고 권한 최고권한 으로 한다음에
g5_board_file 테이블과 교차해서 없는 파일은 삭제하라는 소스를 만들면
됩니다
이런것을 하기위래 g5_board_file 에 안에 다가 어떤 게시판에 몇번재 글인지 원본 파일 명은 무엇인지
바꿔서 저장하는 파일명은 무엇있지 다 입력한거든요
자 그러면 추천 좀 주세요 채택 해주시면 더좋구요
파일명을 이상하게 바꾸는 것은 암호화가 아니라 파일명 중복 방지와 보안 때문입니다 .
하여 그대로 기능을 이용고 응용하시기 바랍니다.
그리고 에디터에서 파일을 재등록및 기존파일 삭제하면 실제 data/editor/삭제되지않으면 삭제 되게 마이징을 해주시면됩니다.
관련 자료 참고하시기 바랍니다.
https://sir.kr/google-search?q=%EC%97%90%EB%94%94%ED%84%B0+%ED%8C%8C%EC%9D%BC+%EC%82%AD%EC%A0%9C#gsc.tab=0&gsc.q=%EC%97%90%EB%94%94%ED%84%B0%20%ED%8C%8C%EC%9D%BC%20%EC%82%AD%EC%A0%9C&gsc.page=1
또한
기존 게시판관리 에서 설정을 할수도잇으니 참고하시구요.
파일 자료 게시판일경우 에디터 사용을 금지시키고 . 일반 파일등록으로 설정하던가.
설정에 따라 반영하도록 해주시기 바랍니다.
참고로
실제 데이타베이스에는 실제등록한 파일명으로 저장이 됩니다. 이를 중복을 피하기 위해서 변환되어 데이타파일공간에 저장을 하고잇는것입니다. 하여 실제 다운로드시 실제 데이타베이스 의 파일명으로 게시판 관리에서 파일 다운로드 권한설정되로 파일선택된 이름그대로 다운로드 하도록 되어잇다라는 뜻입니다.
하여 그대로 기능을 이용고 응용하시기 바랍니다.
그리고 에디터에서 파일을 재등록및 기존파일 삭제하면 실제 data/editor/삭제되지않으면 삭제 되게 마이징을 해주시면됩니다.
관련 자료 참고하시기 바랍니다.
https://sir.kr/google-search?q=%EC%97%90%EB%94%94%ED%84%B0+%ED%8C%8C%EC%9D%BC+%EC%82%AD%EC%A0%9C#gsc.tab=0&gsc.q=%EC%97%90%EB%94%94%ED%84%B0%20%ED%8C%8C%EC%9D%BC%20%EC%82%AD%EC%A0%9C&gsc.page=1
또한
기존 게시판관리 에서 설정을 할수도잇으니 참고하시구요.
파일 자료 게시판일경우 에디터 사용을 금지시키고 . 일반 파일등록으로 설정하던가.
설정에 따라 반영하도록 해주시기 바랍니다.
참고로
실제 데이타베이스에는 실제등록한 파일명으로 저장이 됩니다. 이를 중복을 피하기 위해서 변환되어 데이타파일공간에 저장을 하고잇는것입니다. 하여 실제 다운로드시 실제 데이타베이스 의 파일명으로 게시판 관리에서 파일 다운로드 권한설정되로 파일선택된 이름그대로 다운로드 하도록 되어잇다라는 뜻입니다.
2026-06-19 (금) 15:42:25
data 폴더는 직접 URL 로 접근이 가능합니다.
그래서 직접 파일명을 URL 에 입력하여 다운로드 할수 없도록 하는거에요.
왜냐하면 첨부파일을 누구에게나 다운로드 할수도 있지만
특정 등급이나 포인트를 소모해서 다운로드하기도 하거든요
해당 조건과 맞다면 download.php 를 걸쳐서 원래의 파일명으로 복원한뒤 다운로드 됩니다.
그래서 직접 파일명을 URL 에 입력하여 다운로드 할수 없도록 하는거에요.
왜냐하면 첨부파일을 누구에게나 다운로드 할수도 있지만
특정 등급이나 포인트를 소모해서 다운로드하기도 하거든요
해당 조건과 맞다면 download.php 를 걸쳐서 원래의 파일명으로 복원한뒤 다운로드 됩니다.
파일명 변경은 충돌 방지 때문입니다.
image.jpg를 여러 사용자가 올려도 덮어쓰기가 발생하지 않도록 서버 저장명은 랜덤화하고,
원본 파일명은 DB에 별도로 보관합니다.
또한 특수문자나 경로 관련 문자열 등이 포함된 파일명을 그대로 사용하는 것보다
서버에서 관리하기 쉬운 형태로 저장하는 장점도 있습니다.
말씀하신 용량 증가는 파일명 변경 문제가 아니라 수정·교체 시 기존 첨부파일 정리 정책 문제에 가까워 보입니다.
기본적으로는 기존 첨부파일 삭제 체크를 해야 삭제되며,
첨부파일 교체가 잦다면 수정 시 기존 파일을 자동 삭제하도록 커스텀 처리하는 방법도 있을 것 같습니다.
특히 게시판 첨부파일(data/file)과 에디터 첨부파일(data/editor)은 관리 방식이 다를 수 있으므로,
실제로 어느 경로의 파일이 누적되고 있는지 먼저 확인해 보시는 것이 좋겠습니다.
원본 파일명 그대로 저장하는 방식도 가능은 하겠지만,
동일 파일명 충돌이나 덮어쓰기 문제를 별도로 처리해야 하므로 일반적으로는 현재 방식이 더 안전하지 않나 싶습니다.
답변을 작성하려면 로그인이 필요합니다.