CI 묻고 답하기

제목 post 방식으로 controllers 호출시 오류...
글쓴이 아찌 작성시각 2012/05/03 16:38:09
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 46738   RSS

-- controllers
             |-- aa/aacontroll.php

-- views 
             |-- aa/popView.php

<script type="text/javascript">
 function Chk(){
  var fm = document.Frm;
  fm.action = "/aa/aacontroll/";
  fm.submit();    
 } 
 </script>

<form name="Frm" method="post" style="display: inline">
  <input type='text' name='name' maxlength='12' value='' class='input'>
  <input type=image name="submit" src="/images/btn.gif" onclick="Chk();" alt='확인' style='margin:0 0 -8px 0;'>
</form>

익스 주소창에 http://localhost/aa/aacontroll   호출시 정상
onclick="Chk();"  호출시 url상에는 http://localhost/aa/aacontroll 이지만 아래 오류 메세지 ....
 

An Error Was Encountered

The action you have requested is not allowed.

몇일째 원인 분석중인데 혹 설정 문제인지요...


 

 다음글 CI 저작권은 어떻게 되나요? (1)
 이전글 CI는 소켓통신이 없나요? (2)

댓글

변종원(웅파) / 2012/05/03 17:02:09 / 추천 0
config.php에서 

$config['csrf_protection']  TRUE로 되어 있나 보세요.

매뉴얼에서 해당 내용도 읽어보시면 좋습니다.
아찌 / 2012/05/03 17:27:06 / 추천 0

웅파님이 쓰신 config.php 읽어 보면서 설정했는데요..

 19.  csrf 공격을 막을 수 있는 설정입니다. csrf의 설명은 http://llove94.blog.me/50114504379 을 참고하세요.
개발중인 사이트인데 TRUE로 바꿔야 겠네요. ^^

1.$config['csrf_protection'] = FALSE;
2.$config['csrf_token_name'] = 'csrf_test_name';
3.$config['csrf_cookie_name'] = 'csrf_cookie_name';
4.$config['csrf_expire'] = 7200;

$config['csrf_protection'] true 이고 이걸 false 로 바꾸니 정상 동작 합니다.
false면 csrf  기능을 비활성화 시키는거 아닌가요?....



 

아찌 / 2012/05/03 17:46:28 / 추천 0

$config['csrf_protection']  기능 true 로 활성화시에 폼헬퍼(form helper)form_open()함수를사용해야 하는거 같네요..^^

변종원(웅파) / 2012/05/03 23:16:47 / 추천 0
csrf protection은 간단하게 말하면 폼전송시 변조를 막아주는 겁니다.
게시글 자동등록 로봇을 생각해보시면 웹에서 사람이 작성한게 아니라
로봇(프로그램)이 특정 주소에 post나 get으로 데이터를 날리면 
그 주소에 해당하는 프로그램이 db에 내용을 입력하는 것입니다.

폼이 있는 곳과 post로 전송된 데이터를 받아 db에 입력하는 프로그램 사이에 체크할 수 있는 것을 두어
변조를 막는 장치입니다.

그 설정을 true로 하고 post를 그냥 날리면 위와 같은 에러가 납니다.

그래서 매뉴얼 보라고 말씀드린 겁니다. 아찌님이 정답 찾으셨네요. ^^

아찌 / 2012/05/04 08:59:25 / 추천 0

ㅎㅎㅎ ^^

앞으로 메뉴얼 공부를 더 해야겠습니다..

감사합니다..^^