2011-05-06 6 views
0

일부 CakePHP 웹 사이트에서 로그 아웃에 대한 추가 정보를 보았습니다. http://website.com/logout/DxcFaWlFaDOwCakePHP 보안 로그 아웃

분명히 보안상의 이유로입니까? 누구든지이 문제와 Cake를 사용하여 구현하는 방법에 대해 더 자세히 알 수 있습니까?

+0

나는 단지 CSRF 방지 메커니즘으로 생각할 수 있습니다. 기본적으로 요청마다 토큰을 만들고 다음 요청에서 확인합니다. 이렇게하면 누군가가 iFrame에 URL/로그 아웃을 포함시킵니다. – halfdan

답변

0

이러한 보안 코드는 CSRF 토큰이라고하며 CSRF attacks이 발생하지 않도록하기 위해 사용됩니다. 당신의 컨트롤러에서

public $components = array('Security'); 

을 :

당신은 양식 도우미를 사용하여 추가하여 케이크에서 그것을 구현할 수 있습니다 (심지어 로그 아웃 링크에서 CSRF 토큰을 사용하지만 매우 의미가있다).

Source

+0

로그 아웃 링크가 동일하게 추가 되었습니까? 로그인 양식은 추가 숨겨진 입력 필드를 얻지 만. 그러면 내 로그 아웃 링크에 어떻게 추가합니까? – Cameron

+0

내가 아는 한, CakePHP는 형식으로 만 구현합니다. 따라서 사용자의 PHP'Session '에 넣을 임의의 CSRF 토큰을 생성해야합니다 (또는 Cake이 제공하는 경우 자동 생성 된 토큰을 사용해야합니다). 그런 다음 CSRF 토큰을 수동으로 로그 아웃 링크에 넣고 토큰이 세션의 토큰과 동일한 지 확인해야합니다. 내가 할 수있는 최선의 방법은 ... – Phen