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