laravel4 CSRF Protection

1. CSRF protection หรือการปลอมแปลง http request ที่เรียกข้ามเว็บไซต์ เรื่องนี้ Laravel มีป้องกันอยู่แล้ว โดยเป็นการสร้าง Token ไว้ตรวจสอบ แต่สำหรับคนที่เขียน Route แบบ Controller สามารถเขียน filter ไว้ที่ BaseController แบบนี้ได้ (ไม่มีใน doc)

class BaseController extends Controller {

        /**
        * Setup the layout used by the controller.
        *
        * @return void
        */

        public function __construct()
        {
            $this->beforeFilter('csrf', array('on' => array('post', 'delete', 'put')));
        }
        protected function setupLayout()
        {
            if ( ! is_null($this->layout))
            {
                $this->layout = View::make($this->layout);
            }
        }

}

2. Inseting CSRF token into form

<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">

reference http://laravel.com/docs/security#protecting-routes
http://ethaizone.com/blog/2013/12/laravel-4-security/

Related posts:

This entry was posted in laravel4. Bookmark the permalink.