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

 

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

 

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

 

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

 

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

 

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

 

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

  • profile
    자문자답입니다.

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

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

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

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

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

  • profile profile
    아 예를들어 모듈이름이 kijingom이라고 했을때

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

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

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

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

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

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

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

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

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