
어떤 이유로 다음 htaccess~ 할 것이다/boot.ini.htm
테스트된 URL이 다음과 같은 경우 404 페이지로 리디렉션됩니다.~ 아니다그렇다면 /boot.ini%2500.htm
.
이 작업을 수행하려면 무엇을 변경해야 합니까? 아니면 버그입니까?
Options All -Indexes
Options +FollowSymlinks
ErrorDocument 403 /site/404
ErrorDocument 404 /site/404
RewriteEngine On
RewriteRule ^(fonts)($|/) - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\s\S]*)$ index.php/$1 [L,NC,QSA]
# Ensure Authorization header is passed along
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
ServerSignature Off
php_value memory_limit 256M
내 서버는 다음과 같습니다
서버 버전: Apache/2.4.41(Ubuntu)
서버 구축 시간: 2021-06-17T18:27:53
답변1
모든 경우에 기본 Apache 404 응답이 표시됩니다.
이 경우 요청은 확실히 Codeigniter에 의해 처리되지 않습니다. 404가 .htaccess
처리되기 전에 Apache 서버에 의해 트리거되는 것 같습니다 . 이는 mod_security와 같은 것에 의해 유발될 가능성이 높습니다(HTTP 응답 헤더에 단서가 있을 수 있음).
다음을 포함하는 URL은 %
잠재적으로 보안 위협을 초래할 수 있습니다. 따라서 단순히 이러한 요청을 차단하는 포괄적인 규칙을 서버에 두는 것이 그다지 이상한 일은 아닙니다. 어떤 형태로든 서버 구성에 액세스할 수 없다면 이에 영향을 미칠 수 있는 조치는 거의 없습니다.
하지만 이미 404를 반환하고 있습니다. 그리고 404는 결국 404이므로 봇에게는 아무런 변화도 주지 않을 것입니다. 그리고진짜어쨌든 사용자는 그러한 요청을 해서는 안 됩니다.