채택완료

글쓰기 할때 토큰 어디서 생성 하는지 궁금하네요

글쓰기 할때 업로드 하면 토큰 체크해서 걸리는데

 

처음에 어디서 세팅 하는지 못찾겠네요 ㅠ.ㅠ

 

계속 찾고는 있는데 찾으면서 글 올려봅니다.

 

기본스킨은 글등록이 안되는데 커스텀이 안되서 기본스킨에 머가 있나도 보고 bbs 폴더 찾아봐도 못찾겠네요 ㅠ.ㅠ

|

답변 6개 / 댓글 4개

채택된 답변
+20 포인트

js/common.js

 

function get_write_token(bo_table)

{

답변에 대한 댓글 2개

그 함수는 알고 있는데 도대체 어디서 가지고 오는지를 모르겟네요 기본 스킨 쓰고 소스봐도 token 필드는 없고 그 걸 부르는 부분도 못찾겠네요
글쓰기의 경우 저 함수 바로 아래에 글쓰기 버튼 누를시 토큰 생성하는 부분이 있는데 거기서 생성되어 넘어가지 않나요.
$(function() {
$(document).on("click", "form[name=fwrite] input:submit", function() {
var f = this.form;
var bo_table = f.bo_table.value;
var token = get_write_token(bo_table);
....
....

write_update.php 파일에는 이렇게 되어 있고
// 토큰체크
check_write_token($bo_table);
체크 함수는 common.lib.php 파일에 있을 테고요. 세션으로 할 텐데..
저도 초보라 정확히는 잘 모르겠네요.

commom.js_

 

$(function() {
    $(document).on("click", "form[name=fwrite] input:submit, form[name=fwrite] button:submit, form[name=fwrite] input:image", function() {
        var f = this.form;

        if (typeof(f.bo_table) == "undefined") {
            return;
        }

        var bo_table = f.bo_table.value;
        var token = get_write_token(bo_table);

        if(!token) {
            alert("토큰 정보가 올바르지 않습니다.");
            return false;
        }

        var $f = $(f);

        if(typeof f.token === "undefined")
            $f.prepend('<input type="hidden" name="token" value="">');

        $f.find("input[name=token]").val(token);

        return true;
    });
});

Copy
<input type='hidden' name='token' value='<?php echo get_write_token($bo_table); ?>'>

위 구문을 form 안에 넣으시면 됩니다. 

 

답변에 대한 댓글 2개

잉끼다 님이 정답이신 거 같아요.. 3년 전 이십니다. 감사합니다. 엄청 도움 되었습니다^^
안녕하세요. 어느 form 안에 넣으면 되는지 경러를 알려주실 수 있나요?

write_token.php 약 10줄 

bbs/write.php 나

 

bbs/write_update.php 쪽을 열어보세요~

 

bbs/write_token 쪽도 참고를

일단 따로 토큰 필드를 만들고 값을 넣어서 해결은 했는데 도대체 기본은 어디서 저걸 생성하는지 모르겠네요 ㅠ.ㅠ

답변을 작성하려면 로그인이 필요합니다.