$ sudo a2enmod rewrite
$ sudo systemctl restart apache2
[태그:] apache
[apache] SecRuleEngine off
cafe24에서 가상호스팅 centos7 구매 후 그누보드 설치하여 사용하는데 아래와 같은 메세지를 출력함.
You don’t have permission to access /bbs/login_check.php on this server.
대부분의 경우 파일권한을 확인하면 되지만 이번에는 권한 이외에 다른 부분이 문제 였다.
에러 로그를 확인
#vi /etc/httpd/logs/error_log
[Fri Jul 19 22:03:31.444003 2019] [:error] [pid 3220] [client xxx.xxx.xxx.xxx] [client xxx.xxx.xxx.xxx] ModSecurity: Access denied with code 403 (phase 2). Pattern match "\\\\%((?!$|\\\\W)|[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})" at ARGS:url. [file "/etc/httpd/modsecurity.d/activated_rules/modsecurity_crs_20_protocol_violations.conf"] [line "465"] [id "950109"] [rev "2"] [msg "Multiple URL Encoding Detected"] [severity "WARNING"] [ver "OWASP_CRS/2.2.9"] [maturity "6"] [accuracy "8"] [tag "OWASP_CRS/PROTOCOL_VIOLATION/EVASION"] [hostname "mysite.com"] [uri "/bbs/login_check.php"] [unique_id "XTG-o0jziQZT3ktA@GaorgAAAAA"], referer: http://mysite.com/bbs/login.php?url=http%3A%2F%2Fmysite.com%2Fadm
/etc/httpd/modsecurity.d/activated_rules/modsecurity_crs_20_protocol_violations.conf 에서 465 라인이 해당 요청이 규칙에 위반 되어서 접근을 제한 하는것 같다. httpd.conf 에서 해당 규칙을 제외시켜준다.
#vi /etc/httpd/conf/httpd.conf
<Directory>
...
...
SecRuleEngine Off
</Directory>
service httpd restart
[php] input이 1000개 이상 안넘어갈때
post로 넘긴 값을 확인해보는데 1000개까지만 출력이 되고 그 이상은 삭제되는 현상을 발견했다.
해결방법은 .htaccess 파일에 최대 개수 제한을 늘려주면된다.
#.htaccess
php_value max_input_vars 3000
3000개 까지 input으로 값을 넘겨줄수 있게 되었다.
참고한사이트
https://stackoverflow.com/questions/6135427/increasing-the-maximum-post-size