CI 묻고 답하기

제목 url 에서 function param 을 가릴 수 있는 방법 ?
글쓴이 굥굥 작성시각 2016/04/29 17:15:35
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 19867   RSS

 

안녕하세요.

지금 코드이그나이터를 이용하여 개발 중인데,

url 이 예를 들면 

 

www.example.com/controllerName/functionName/params

 

라고 했을 때 params 를 url 에서 지워내고 싶은데 혹 방법이 있을런지요 ? (아니면 아예 함수명이 안따라붙게 하던지 ... ) 

params 에 의해서 함수를 아무때나 호출할 수 없도록 하고 싶거든요. (사용자에 의해 호출되는 일이 없도록.)

 

사용자에 의해 호출이 되어버리면 어떤 이슈가 생기냐면 예를 들어서,

params 가 회원번호라고 가정했을 때 사용자가 숫자를 바꿔서 주소를 치면 다른 회원의 정보를 볼 수 있는 대충 이런식의 문제가 있습니다.

 

routes 나 rewrite 등 많이 검색을 해봤는데, 적당한 해답을 아직 얻지 못하였습니다.

함수를 호출할 때 이미 파라미터를 붙여서 보내고, 그 파라미터에 의해 계산을 하여 view 를 뿌려주는 구조인데 ..

Hook 을 이용해서도 조건을 어떻게 해서 리다이렉 시켜줘야될지 감이 안오네요 ..

 

혹 방법이 있을런지요 ... ? 

 

 다음글 application 통째로 붙여넣기 했는데 뷰가 안뜹... (2)
 이전글 헬퍼에서 선언한 변수 다른 곳(컨트롤러등)에서 호출 방... (2)

댓글

변종원(웅파) / 2016/04/29 17:42:27 / 추천 0

내부 함수끼리야 함수의 파라미터로 호출한다지만 주소는 외부에서 접속하는 것이라 방법이 없습니다.

a.com/board/list/ 라고만 호출하면 무슨 게시판인지 모르죠. 외부에서 직접 호출되는게 아니라면 private 함수로 처리하시면 됩니다.

http://kr.php.net/manual/en/language.oop5.visibility.php

양승현 / 2016/04/30 18:38:06 / 추천 0
외부호출을 막겠다고 정하고나면 가능하지요. 세그먼트로 막던.. 포스트로만 처리하든
양승현 / 2016/04/30 18:42:30 / 추천 0
근데 회원정보쪽이라면.. 근본적으로 로그인된 세션을 비교하는게 맞다고 보네요.. 웅파님 말끔처럼 겟방식으로 쓰이는 곳이 있을테니..
이현재 / 2016/04/30 19:43:16 / 추천 0
특정한 유저가 특정 데이터만 열람해야 한다면 세션 값을 읽어서 처리하는 것이 바른 방법이지 않을까요? 해당 데이터는 세션에 의거해서 가져올 데이터일테니까요