php-censor/src/B8Framework/Form/Element/Csrf.php
2017-11-08 20:45:18 +07:00

39 lines
598 B
PHP

<?php
namespace b8\Form\Element;
use b8\View;
class Csrf extends Hidden
{
/**
* @var integer
*/
protected $_rows = 4;
/**
* @return boolean
*/
public function validate()
{
if ($this->_value != $_COOKIE[$this->getName()]) {
return false;
}
return true;
}
/**
* @param View $view
*/
protected function onPreRender(View &$view)
{
parent::onPreRender($view);
$csrf = md5(microtime(true));
$view->csrf = $csrf;
setcookie($this->getName(), $csrf);
}
}