질문/조언질답게시판

admin 모델 함수를 일반 모델에 넣었을때 어떤 보안문제가 생기나요?

 

라이믹스 php 기본 컨섭을 확실하게 몰라서 잘 모르겠네요...

  • profile

    클래스 이름에 admin이 들어 있으면 관리자 외에는 아예 접근이 안 됩니다. 이건 코어에서 통제하는 것이기 때문에, 일반 view나 controller 클래스에 넣어 놓고 코드를 직접 써서 권한을 체크하는 것보다 실수할 가능성이 훨씬 낮습니다.

     

    model은 직접 호출하는 일이 거의 없기 때문에 이 구분이 크게 중요하지는 않습니다만, model 함수도 module.xml에 추가하기만 하면 얼마든지 직접 호출이 가능합니다. 코어 모듈들 중에도 getXXX와 같은 이름으로 model 함수를 직접 호출하도록 허용하는 것이 있습니다. (이런 것들은 대개 AJAX로 데이터를 가져오는 용도입니다.)

     

    즉, 외부 접근을 허용하지 않거나 함수 내에서 직접 권한을 체크한다면 문제가 되지는 않으나, 관리자에게만 제공되어야 하는 기능이라면 처음부터 admin model에 넣는 것이 더 간단하게 보안성을 확보하는 방법입니다. 인간은 항상 실수할 가능성이 있으므로, 동일한 권한 체크라면 적은 양의 코드로 구현하는 쪽이 더 안전합니다.

  • profile profile
    그렇군요...
    언제나 좋은답변 감사드립니다.