토큰을 생성하는 방법과 사용 방법을 설명한 this과 같은 링크/대답을 이미 발견했습니다.PHP - Smarty - Http 요격 요격
내 웹 사이트에서 Smarty를 사용하고 있으며 양식이 이미 많이 있습니다. 모든 요청의 헤더 안에 토큰을 보내고 헤더를 확인하기위한 모든 요청을 잡는 방법을 찾으려고합니다.
예 : AngularJS와, 난 $httpProvider.interceptors
및 headers['Authorization'] = 'Bearer ' + token;
이
나는이
class Interceptor {
$token;
function __construct(type) {
switch (type) {
case 'beforeSending':
$token = md5(uniqid(rand(), TRUE));
$_SESSION['token'] = $token;
$_SERVER['HTTP_authorization'] = 'Bearer ' + $token;
break;
case 'beforeExecuting':
if(hash_equals($_SESSION['token'], $_POST['token'])){
//continue
}else{
//error redirect to homePage or logout
}
break;
}
}
}
이 모든의 헤더에 세션에 저장된 토큰을 추가해야
같은 것을 만들고 싶습니다 사용할 수 있습니다 의뢰.
이렇게하면 모든 요청에 올바른 토큰이 포함되어 있는지 확인해야합니다.
모든 양식에 입력을 추가하고 모든 통화를 확인하는 대신 전역 적으로이를 수행 할 수있는 방법이 있습니까?
세션 변수를 지정하고 인증해야하는 페이지에서 해당 세션 변수를 확인하십시오. – junkfoodjunkie
사용자가 로그인하고 토큰이 세션 변수로 저장 될 때 토큰을 생성합니다. 이제 모든 POST에 대해이 토큰을 전체적으로 확인하는 방법이 있습니까? 모든 페이지에 코드를 추가하는 대신? – Weedoze
아니요. 각 처리 파일에 세션 확인을 추가해야합니다. – junkfoodjunkie