PHP8.1.9 버전을 사용중입니다.
모듈에서 사용하는 AJAX요청에 대해
<action name="proc이름" type="controller" />
와 같이 잘 셋팅해놓았고, 바로 이전 버전까지는 문제가 없었는데요,
금일 코어 업데이트 후 AJAX 요청이 실패하고 있습니다.
error: -1 message: "잘못된 요청입니다."
혹시 저와 유사한 문제를 겪고 계시는 분이 없을까요?
PHP | PHP 8.1 |
---|---|
CMS | Rhymix 2.0 |
PHP8.1.9 버전을 사용중입니다.
모듈에서 사용하는 AJAX요청에 대해
<action name="proc이름" type="controller" />
와 같이 잘 셋팅해놓았고, 바로 이전 버전까지는 문제가 없었는데요,
금일 코어 업데이트 후 AJAX 요청이 실패하고 있습니다.
error: -1 message: "잘못된 요청입니다."
혹시 저와 유사한 문제를 겪고 계시는 분이 없을까요?
요청할 때 어떤 변수가 함께 전달되고 있나요?
exec_json이라면 일반적으로 module + act + 기타 변수들이 전달됩니다.
만약 여기에 mid를 추가하거나, module 대신 mid를 전달한다면
상황에 따라 문제가 될 수도 있습니다.
만약 arahu 모듈에 procAddMinus라는 액션이 정의되어 있고
module=arahu&act=procAddMinus라고 요청했다면 예전과 달라진 것이 없습니다.
단, arahu 모듈과 무관한 board라는 mid에 슬그머니 얹혀서
mid=board&act=procAddMinus라고 요청했거나,
mid=board&module=arahu&act=procAddMinus처럼 모듈과 mid가 서로 안 맞는다면
모듈 정보를 검증하는 순서가 다소 달라져서 오류가 날 수도 있습니다.
이 경우 액션명에라도 Arahu라는 단어를 넣어서 힌트를 주어야 제대로 인식합니다.
다른 모듈에 은근슬쩍 얹히는 액션들이 코어 모듈들 중에도 꽤 있습니다.
대표적으로 회원 모듈과 커뮤니케이션 모듈이 그렇지요.
호환성을 위해 유지하고 있을 뿐, 이런 편법적인(?) 페이지 생성 방법은
점차 지원을 축소할 예정입니다.
정말로 어디에서나 인식할 수 있어야 하는 액션이라면
route를 선언하고 standalone="true"라고 한 후, 대시보드에서 모듈 업데이트를 클릭하면
액션명에서 모듈명을 억지로 뽑아내려고 하지 않고 정상적으로 인식합니다.
proc + 모듈명 + 기타 순으로 이름을 정확하게 지정해야만 작동을 하는군요...
혹시 이와 관련되어 이번에 보안이 강화되었을까요?