게시판에 글쓰는부분의 소스를 보고있습니다.

여기보시면 토큰체크를 하는데 사용되는 bo_table 이라는 변수는 common.php 파일의

이부분인가요?
글을 작성하고 전송되는값을 캡쳐했을때
캡쳐되는 아래의 사진에들어가는 token에는 어떤값들이들어가나요?

답변 1개 / 댓글 4개
채택된 답변
+20 포인트
7년 전
게시판 글쓰기 하실 때
/js/common.js 에서 토큰을 생성합니다.
Copy
function get_write_token(bo_table)
{
var token = "";
$.ajax({
type: "POST",
url: g5_bbs_url+"/write_token.php",
data: { bo_table: bo_table },
cache: false,
async: false,
dataType: "json",
success: function(data) {
if(data.error) {
alert(data.error);
if(data.url)
document.location.href = data.url;
return false;
}
token = data.token;
}
});
return token;
}
$(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;
});
});
답변에 대한 댓글 4개
7년 전
게시판의 이름이 들어갑니다.
토큰값이 들어가는 이유는 외부에서 프로그램 등을 이용한 자동 글쓰기나 정상적인 루트가 아닌 다른 루트로 접근하여 글을 쓰는 경우를 방지하기 위해서입니다
토큰값이 들어가는 이유는 외부에서 프로그램 등을 이용한 자동 글쓰기나 정상적인 루트가 아닌 다른 루트로 접근하여 글을 쓰는 경우를 방지하기 위해서입니다
7년 전
제가 자바스크립트는 아무것도모르는데 get_write_token 함수의 매개변수로 게시판이름을 넣으면
어떤 문자열이 어떤암호화?가되서 나오나요? 나오는값은 36f45ce16a007d2512ed4acec30784b5
요렇게나오던데...
어떤 문자열이 어떤암호화?가되서 나오나요? 나오는값은 36f45ce16a007d2512ed4acec30784b5
요렇게나오던데...
7년 전
공부 중이시라면 분석해보세요.
/bbs/write_token.php 에서 생성된 값을 /bbs/write_update.php 에서 체크합니다.
체크하는 함수가 check_write_token() 입니다.
그냥 소스를 읽지 마시고요. 어떻게 동작하는지 하나 하나 뜯어보시기 바랍니다.
/bbs/write_token.php 에서 생성된 값을 /bbs/write_update.php 에서 체크합니다.
체크하는 함수가 check_write_token() 입니다.
그냥 소스를 읽지 마시고요. 어떻게 동작하는지 하나 하나 뜯어보시기 바랍니다.
답변을 작성하려면 로그인이 필요합니다.