Intereting Posts
Преждевременный конец заголовков скриптов: index.php, mod_fcgid: чтение таймаута данных за 61 секунду Безопасность PHP preg_replace preg_match unicode parsing Система голосования AJAX + PHP невозможно подключиться к Google Cloud Connection Server Подготовленное заявление MySQLi не выполняется Лучший способ избежать дублирования ввода в базу данных mysql (php oop) статический метод vs нет статического метода Модульные шаблоны проектирования для не-объектно-ориентированного кода? Как заставить проверенный валидатор Laravel добавлять ошибки в поле подтверждения? какова разница между представлением и задачей в joomla 2.5 и что такое структура url в joomla 2.5? Создайте изображение с помощью Drupal imagecache перед использованием imagecache_create_path и getimagesize Библиотека PHP GD изменяет размер Кнопка загрузки PHP не работает Создание пустого файла Drupal 6: Views: перечисление таксономических терминов с помеченными узлами под

CodeIgniter, токен Csrf

У меня проблема

Посмотреть

<form method="post" action="test/csrf"> <input type="hidden" name="<?=$this->security->get_csrf_token_name();?>" value="<?=$this->security->get_csrf_hash();?>"> 

контроллер

 echo $this->input->post($this->security->get_csrf_token_name()); 

Я не могу показать код токена

Доступ к токену Csrf в контроллере

В контроллере вы можете получить имя и значение csrf, как следует

  echo $this->security->get_csrf_token_name(); // for the name echo $this->security->get_csrf_hash(); // for the value 

Включить CSRF в файле конфигурации

  $config['csrf_regenerate'] = TRUE; 
  1. Используемые токены CSRF с использованием хелпера формы

У нас есть два способа добавить токены CSRF; если мы хотим обновить форму с помощью класса хелпера CodeIgniter, то токены CSRF будут добавлены автоматически или если вы собираетесь настраивать в пользовательской форме, тогда нам нужно добавить собственное скрытое имя ввода и его значение.

Когда мы будем использовать вспомогательный класс формы:

  <?php echo form_open(base_url( 'user/login' ), array( 'id' => 'login', 'class' => 'login' ));?> <input type="text" name="username" /> <input type="password" name="password" /> <input type="submit" name="submit" value="Submit" /> <?php echo form_close();?> 

С помощью класса хелпера класса автоматически добавляется вход, введенный в форму со случайным значением токена, чтобы предотвратить CSRF.

  1. Когда мы используем пользовательскую форму:

Нам нужно добавить входной файл, чтобы предотвратить нашу пользовательскую форму с CSRF.

  $csrf = array( 'name' => $this->security->get_csrf_token_name(), 'hash' => $this->security->get_csrf_hash() ); <input type="hidden" name="<?=$csrf['name'];?>" value="<?=$csrf['hash'];?>" /> 

Если вы используете хелпер формы, форма form_open () автоматически вставляет скрытые поля csrf в ваши формы. Если не,

Затем вы можете использовать get_csrf_token_name () и get_csrf_hash ()

http://www.codeigniter.com/user_guide/libraries/security.html

http://www.sks.com.np/secure-your-codeigniter-application-using-csrf-token/