개발 Q&A

제목 CI 3.0 컨트롤러 메소드 이름 끝에 'txt' 라는 문자가 있을때 404 에러 발생
카테고리 PHP
글쓴이 CI_stu 작성시각 2024/08/13 16:16:08
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 2132   RSS

안녕하세요~~

 

ci 3.0 , php 7.3.2 , nginx , mysql 8.0 환경(wnmp.exe 사용중)에서 개발중인 학생입니다.

 

ajax로 html 내용을 불러오려고 작업중에 Join.php 컨트롤러에 'guide_txt' 메소드를 만들어 실행시켜 보았으나 404 에러가 발생하였고

'guide_str' 로 메소드명을 바꿔보니 정상 실행되었습니다..

 

1. public, private 확인 완료

2. https 확인 완료

3. 컨트롤러명 첫 문자 대문자 확인 완료

 

잘 해결되어서 현재 별 문제는 없지만 'txt' 라는 문자가 url 끝에 입력되면 왜 404 에러가 발생했는지 의문으로 남았습니다..

 

혹시 이 부분 알고있는 분이 계시다면 답변 부탁드립니다.

 

감사합니다.

태그 404에러,코드이그나이터3.0,PHP
 다음글 라우터 오류 (3)
 이전글 코드이그나이터4 앱 설치후 안되요 (2)

댓글

kaido / 2024/08/16 10:41:09 / 추천 1
http {
    server {
        listen 80;
        server_name example.com;

        location ~ /\.txt$ {
            return 404;
        }

        # 나머지 설정들...
    }
}

nginx 에서 끝 문자가  txt 일때 404로 표현할수 있습니다.

ci 라우터에서 특별히 설정 하지 않는이상 끝문자 txt로 에러가 나오지는 않습니다.

일반적으로 txt 이나 xml 등의 파일 접근을 막기 위해 주소에 확장자 명이 나오면 차단 합니다. 해당 파일에 중요한 설정 값을 가지고 있을 가능성이 높기 때문에 특정 주소와 확장자명으로 공격이 들어옵니다.

CI_stu / 2024/08/17 20:01:08 / 추천 0

감사합니다. :)

비슷한 내용을 찾았습니다. 이 부분 때문이었군요..