질문: Wikipedia 기사에 언급된 기술을 적용하는 방법에 대해 자세히 설명할 수 있습니까? PHP, 특히 Kohana에서 CSRF를 방지하려면 프레임워크?
답변:
PHP에서 CSRF를 방지하려면 다음 조치를 구현할 수 있습니다.
// On the page requesting to delete a record session_start(); $token = isset($_SESSION['delete_customer_token']) ? $_SESSION['delete_customer_token'] : ""; if (!$token) { // Generate and persist a new token $token = md5(uniqid()); $_SESSION['delete_customer_token']= $token; } session_write_close();
// When actually performing the deletion session_start(); // Validate the token $token = isset($_SESSION['delete_customer_token']) ? $_SESSION['delete_customer_token'] : ""; if ($token && $_POST['token'] === $token) { // Delete the record ... // Remove the token after successful deletion unset($_SESSION['delete_customer_token']); } else { // Log a potential CSRF attack } session_write_close();
Kohana에서는 Request::referrer() 메소드를 사용하여 리퍼러 URL을 검색할 수 있습니다. 리퍼러 URL이 합법적인지 확인하기 위해 이를 귀하의 사이트를 참조하도록 허용된 신뢰할 수 있는 도메인 목록과 비교할 수 있습니다.
이러한 조치를 구현하면 CSRF 공격으로부터 PHP 애플리케이션을 보호할 수 있습니다.
위 내용은 특히 Kohana 프레임워크를 사용하여 PHP에서 CSRF 공격을 어떻게 방지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!