diff --git a/bbs/qawrite_update.php b/bbs/qawrite_update.php index 4c6902936..46756bae3 100644 --- a/bbs/qawrite_update.php +++ b/bbs/qawrite_update.php @@ -219,7 +219,7 @@ for ($i=1; $i<=$upload_count; $i++) { $upload[$i]['filesize'] = $filesize; // 아래의 문자열이 들어간 파일은 -x 를 붙여서 웹경로를 알더라도 실행을 하지 못하도록 함 - $filename = preg_replace("/\.(php|pht|phtm|htm|cgi|pl|exe|jsp|asp|inc|phar)/i", "$0-x", $filename); + $filename = preg_replace("/\.(php|pht|phtm|htm|shtml|shtm|cgi|pl|exe|jsp|asp|inc|phar|svg|svgz)/i", "$0-x", $filename); shuffle($chars_array); $shuffle = implode('', $chars_array); diff --git a/bbs/write_update.php b/bbs/write_update.php index da487a4ff..80c9da899 100644 --- a/bbs/write_update.php +++ b/bbs/write_update.php @@ -577,7 +577,7 @@ if(isset($_FILES['bf_file']['name']) && is_array($_FILES['bf_file']['name'])) { $upload[$i]['filesize'] = $filesize; // 아래의 문자열이 들어간 파일은 -x 를 붙여서 웹경로를 알더라도 실행을 하지 못하도록 함 - $filename = preg_replace("/\.(php|pht|phtm|htm|cgi|pl|exe|jsp|asp|inc|phar|svg|svgz)/i", "$0-x", $filename); + $filename = preg_replace("/\.(php|pht|phtm|htm|shtml|shtm|cgi|pl|exe|jsp|asp|inc|phar|svg|svgz)/i", "$0-x", $filename); shuffle($chars_array); $shuffle = implode('', $chars_array); diff --git a/data/.htaccess b/data/.htaccess new file mode 100644 index 000000000..81f095701 --- /dev/null +++ b/data/.htaccess @@ -0,0 +1,5 @@ + +Order allow,deny +Deny from all + +RedirectMatch 403 /session/.* \ No newline at end of file diff --git a/install/install_db.php b/install/install_db.php index 731d6a3f0..4c47e1885 100644 --- a/install/install_db.php +++ b/install/install_db.php @@ -660,7 +660,7 @@ fclose($f); // data 디렉토리 및 하위 디렉토리에서는 .htaccess .htpasswd .php .phtml .html .htm .inc .cgi .pl .phar 파일을 실행할수 없게함. $f = fopen($data_path.'/.htaccess', 'w'); $str = << + Order allow,deny Deny from all