특정 모듈의 exec_json 요청을 막을 수 있을까요?
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 8.3 |
특정 모듈의 요청을 exec_json, exec_xml로 받지 않으려고 합니다.
정확히는 데이터에 module, act를 넣어 요청받는게 아니라 (호스트)/(module)/(act) 형태로만 받으려고 합니다.
해당 모듈은 출석부 모듈이고, 그렇게 하려는 정확히는 트래픽 제어가 필요하고 특정 사용자들이 얼마나 과부하 요청을 거는지 확인하고 싶어서 별도의 웹 방화벽을 사용하려고 하는데 요청 내용을 분석해서는 필터링이 안되네요.
그렇다고 전체에 제한을 걸어버리자니 사용자들중 댓글 혹은 추천 빈도가 빠른 회원들이 있어서 그런 회원들에게 불편함을 주고싶진 않습니다.
이를 위해서 모듈단에서 수정할 방법이 있는지 알고싶습니다.
에카
Lv. 2
댓글 1
님이 생각하시는 정상적인 요청과 exec_json, exec_xml 요청의 차이점을 이용해야겠지요.
1. 요청한 URL 형태가 (호스트)/(module)/(act)가 아닌 경우 차단
- exec_json, exec_xml은 모두 index.php를 요청합니다.
2. $_POST['module'], $_POST['act']가 존재하는 경우 차단
- URL에 module, act가 포함되어 있다면 따로 POST할 필요가 없습니다.
3. X-Requested-With 헤더가 존재하는 경우 차단
- jQuery를 사용한 AJAX 요청에 공통적으로 붙는 헤더입니다.