안녕하세요 ~^^
게시판 작성시 휴대폰 문자인증을 구현중입니다.
휴대폰 작성 후 인증번호받기 클릭시
session을 통해 인증번호 생성과 함께 문자로 보내지며,
인증하기 누를시
입력한 인증번호와 생성된 session 인증번호의 일치여부를 ajax를 통하여 구현하였습니다.
문제는 스킨파일 내 script.js에서 ajax에서 return false일 경우, 유효성 검사에서 넘어가지 못하도록하려고합니다.
구현은 가능하지만 혹시나하는 마음에 누군가 악의적으로 관리자도구에서 return false를 지울경우 유효성 검사없이 글쓰기가 됩니다.
이런 경우를 방지하기 위해서 어떤 방법이 있을까요??
안녕하세요~^^
kboard_insert_data 필터와 kboard_update_data 필터를 활용하시면 게시글 입력 시
저장되면 데이터를 편집하실 수 있습니다.
아래 코드를 참고하여 적용해보시겠어요?
add_filter('kboard_insert_data', 'kboard_insert_data_220211', 10, 2);
function kboard_insert_data_220211($data, $board_id){
if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
// SESSION 체크 구간
}
return $data;
}
위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해주세요.
게시글이 저장되기 전 세션이나 쿠키 등으로
체크하신 후 검증이 완료되었다면 저장하는 방법으로 해결하실 수 있을 듯 합니다.
필터의 사용 가이드는 아래 링크를 참고해주세요.
https://www.cosmosfarm.com/products/kboard/hooks
고맙습니다.
유효성 검사 실패 시
js 스크립트를 출력하여 alert과 history.back()으로
경고창과 뒤로가기를 실행하실 수 있습니다.
고맙습니다.
add_filter('kboard_insert_data', 'kboard_insert_data_220211', 10, 2);
function kboard_insert_data_220211($data, $board_id){
if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
// SESSION 체크 구간
}
return $data;
}
항상 정성스러운 답변주셔서 감사합니다 ㅎㅎ
위와 같이 SESSION 체크 후 일치하지않을시 alert() 후 history.back() 시키면 일단 글은 등록이 되는데 글 등록도 안되게 할 수는 없을까요?
안내드린 필터들은 글이 등록되기 전에
동작하는 필터들입니다.
작성하신 코드를 코드스니펫으로 올려주시면
확인 도와드리겠습니다.
고맙습니다.