Q&A

이번 라이믹스 2.0.22 업데이트 후 잘못된 요청입니다 오류가 발생하는것 같습니다

2022.08.16 11:48
1,282
0
CMS/프레임워크 Rhymix 2.0
개발 언어 PHP 8.1

PHP8.1.9 버전을  사용중입니다.

 

모듈에서 사용하는 AJAX요청에 대해 

 

<action name="proc이름" type="controller" />

 

와 같이 잘 셋팅해놓았고, 바로 이전 버전까지는 문제가 없었는데요,

 

금일 코어 업데이트 후 AJAX 요청이 실패하고 있습니다.

 

error: -1
message: "잘못된 요청입니다."

 

혹시 저와 유사한 문제를 겪고 계시는 분이 없을까요?

댓글 6

  • 2022.08.16 11:52 #1704176
    자문자답입니다.

    proc + 모듈명 + 기타 순으로 이름을 정확하게 지정해야만 작동을 하는군요...
    혹시 이와 관련되어 이번에 보안이 강화되었을까요?
  • 2022.08.16 12:34 #1704180

    요청할 때 어떤 변수가 함께 전달되고 있나요?

    exec_json이라면 일반적으로 module + act + 기타 변수들이 전달됩니다.

    만약 여기에 mid를 추가하거나, module 대신 mid를 전달한다면

    상황에 따라 문제가 될 수도 있습니다.

  • 2022.08.16 12:40 #1704184
    아 예를들어 모듈이름이 kijingom이라고 했을때

    prockijingomAdd~~~ 가 정석인 점은 저도 알고있었는데요,

    그냥 이 룰에 따르지 않고 procAddMinus~~ 마음대로 해당 module.xml 에 정의해서 사용하던게

    이번 업데이트에서 '잘못된 요청입니다' 를 반환하네요 ㅎㅎ

    제가 틀린거라서 코어 업데이트한 김에 싹 뜯어고치긴 했는데
    혹시 이번 코어 업데이트시에 관련해서 엄격히 검사하도록 바뀌었을까요?
  • 2022.08.16 12:47 #1704188

    만약 arahu 모듈에 procAddMinus라는 액션이 정의되어 있고
    module=arahu&act=procAddMinus라고 요청했다면 예전과 달라진 것이 없습니다.
    단, arahu 모듈과 무관한 board라는 mid에 슬그머니 얹혀서
    mid=board&act=procAddMinus라고 요청했거나,
    mid=board&module=arahu&act=procAddMinus처럼 모듈과 mid가 서로 안 맞는다면
    모듈 정보를 검증하는 순서가 다소 달라져서 오류가 날 수도 있습니다.

    이 경우 액션명에라도 Arahu라는 단어를 넣어서 힌트를 주어야 제대로 인식합니다.

    다른 모듈에 은근슬쩍 얹히는 액션들이 코어 모듈들 중에도 꽤 있습니다.
    대표적으로 회원 모듈과 커뮤니케이션 모듈이 그렇지요.
    호환성을 위해 유지하고 있을 뿐, 이런 편법적인(?) 페이지 생성 방법은
    점차 지원을 축소할 예정입니다.

    정말로 어디에서나 인식할 수 있어야 하는 액션이라면
    route를 선언하고 standalone="true"라고 한 후, 대시보드에서 모듈 업데이트를 클릭하면
    액션명에서 모듈명을 억지로 뽑아내려고 하지 않고 정상적으로 인식합니다.

  • 2022.08.16 12:49 #1704193
    멀리 내다봐서는 이번에 오류를 겪고 수정한게 잘한거겠네요 ㅎㅎ 감사합니다~ bb
    라이믹스는 XE랑은 달리 오류를 확실하게 표시해줘서 좋은것 같습니다
  • 2022.08.16 12:51 #1704201
    혹시 코어 모듈이나 널리 사용되는 다른 자료에서도 비슷한 오류가 눈에 띈다면 제보해 주세요.
    보안패치 특성상, 깃허브 등에서 공개적으로 검증할 기회가 부족하기 때문에
    예상치 못한 부작용이 종종 발생하곤 합니다. ㅠㅠ