Exemple #1
0
 public function isValid($method = null)
 {
     if ($method) {
         $this->_method = $method;
     }
     $a_valid = [];
     $this->_valid = true;
     foreach ($this->_fields as $name => $field) {
         $valid = $field->validate($this->_method);
         $a_valid[$name] = (bool) $valid;
         if (!$valid) {
             $this->_valid = false;
         }
     }
     $this->_fieldValid = $a_valid;
     if (!$this->_valid) {
         $this->_generalError = self::$_textErrorValid;
         if (self::$_autoError and $this->_checkToken) {
             \Components\Infoblock::setInfo(self::$_textErrorValid);
         }
     }
     if ($this->_valid and $this->_method == 'post' and $this->_checkToken) {
         if (!\Components\CSRF::check()) {
             $this->_generalError = '!Токен безопастности устарел. Обновите страницу и повторите попытку.';
             if (self::$_autoError) {
                 \Components\Infoblock::setError('!Токен безопастности устарел. Обновите страницу и повторите попытку.');
             }
             $this->_valid = false;
         }
     }
     return $this->_valid;
 }
Exemple #2
0
 /**
  * Генерация токена для CSRF
  * @return string
  */
 public function token()
 {
     return \Components\CSRF::generate();
 }