본문 바로가기
⚙️백엔드/PHP

php - CSRF 방지

by Janger 2023. 4. 5.
728x90
반응형

editor.php

<?php
$_SESSION['token'] = md5(uniqid(mt_rand(), true));
?>

<input type="hidden" name="token" value="<?php echo $_SESSION['token'] ?? '' ?>">

 

posting.php

<?php

$token = filter_input(INPUT_POST, 'token', FILTER_SANITIZE_STRING);

if (!$token || $token !== $_SESSION['token']) {
    // return 405 http status code
    header($_SERVER['SERVER_PROTOCOL'] . ' 405 Method Not Allowed');
    exit;
} else {
    // process the form
}

 

 

출처: 

https://www.phptutorial.net/php-tutorial/php-csrf/

 

PHP CSRF

In this tutorial, you will learn about cross-site request forgery (CSRF) attacks and how to prevent them in PHP.

www.phptutorial.net

 

https://wonpaper.tistory.com/417

 

[PHP] CSRF 공격방어 작업하기

PHP 상으로 CSRF (cross-site request forgery) 공격을 막는 작업을 해보자. 우선 작업을 할 이전페이지단에서, token 이라는 특정랜덤값이 든 세션 변수를 하나 할당한다. 그리고 해당 posting 되는 실제 페이

wonpaper.tistory.com

 

728x90
반응형