채택완료

check_token

2015-12-31 (목) 10:47:10 3,391

그누보드 고수님들.. 부탁드립니다. 알려주세요..

-----------------------------------------

내가 쓴 함수

- 토큰 함수

Copy
// 토큰 생성function _token(){    return md5(uniqid(rand(), true));}// 불법접근을 막도록 토큰을 생성하면서 토큰값을 리턴function get_token(){    $token = md5(uniqid(rand(), true));    set_session('ss_token', $token);    return $token;}// 세션변수 생성 function set_session($session_name, $value) {     if (PHP_VERSION < '5.3.0')         session_register($session_name);     // PHP 버전별 차이를 없애기 위한 방법     $$session_name = $_SESSION[$session_name] = $value; }// POST로 넘어온 토큰과 세션에 저장된 토큰 비교function check_token(){    set_session('ss_token', '');    return true;}

- 내가 사용한 토큰

Copy
<form action="test.php" method="post"><input type="hidden" name="token" value="<?php echo _token(); ?>"></form>

- 처리 값

Copy
$token = $_POST['token']; if($token!=check_token()){echo "error";exit;}
 
|

답변 1개

채택된 답변
+20 포인트

뭘 의도하시는지 정확히 모르겠네요.. 

일단 토큰값을 클라이언트가 서버로 넘긴다는 부분에서 이미 그 토큰은 신뢰성을 잃어버립니다.

생성된 토큰은 세션을 통해 저장하고 검증하세요.

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