그누보드 글쓰기 소스 2
본문
https://sir.kr/qa/285084?page=1&page=1&unanswered=0&s_tag=&cwin=&vsst=&vpage=1
위 글에대한 질문입니다.
제가 자바스크립트는 아무것도모르는데 get_write_token 함수의 매개변수로 게시판이름을 넣으면
어떤 문자열이 어떤암호화?가되서 나오나요? 나오는값은 36f45ce16a007d2512ed4acec30784b5
요렇게나오던데...
답변 1
function _token()
{
return md5(uniqid(rand(), true));
}
// 불법접근을 막도록 토큰을 생성하면서 토큰값을 리턴
function get_token()
{
$token = md5(uniqid(rand(), true));
set_session('ss_token', $token);
return $token;
}
// POST로 넘어온 토큰과 세션에 저장된 토큰 비교
function check_token()
{
set_session('ss_token', '');
return true;
}
common.lib.php에 있는 토큰 관련 함수들입니다.
문자열이 암호화된다기보다 그냥 랜덤한 문자열이 생성됩니다.
그누보드 글쓰기의 경우 write.php->write.update.php의 순서대로 해당 페이지가 열렸을 때 글쓰기가 되어야하는데,
아무래도 오픈소스다보니 누구나 쉽게
외부 글쓰기 프로그램이나 접근을 통해 바로 wirte.update.php에 필요한 값만 넣어 권한이나 글쓰기 양식과 상관없이 db에 데이터를 집어넣을 수 있기에,
정상적인 접근 방식일때만 동작 가능하게, 확인 하는 방식이라고 보시면 됩니다.
보안을 위해 존재하는 소스입니다
!-->
답변을 작성하시기 전에 로그인 해주세요.