Zugriff auf die CSRF-Token in der Steuerung zeigen
In Controller kann u Namen und den Wert von csrf erhalten wie folgt
echo $this->security->get_csrf_token_name(); // for the name
echo $this->security->get_csrf_hash(); // for the value
aktivieren CSRF in Config-Datei
$config['csrf_regenerate'] = TRUE;
- Gebrauchte CSRF-Token Formularhelfer
Wir haben zwei Möglichkeiten, CSRF-Tokens hinzuzufügen; Wenn wir daran denken, Ihr Formular mit der CodeIgniter-Formular-Hilfsklasse zu aktualisieren, werden CSRF-Token automatisch hinzugefügt oder wenn Sie überlegen, es in benutzerdefiniertem Formular anzupassen, müssen wir einen benutzerdefinierten versteckten Eingabenamen und seinen Wert hinzufügen.
Wenn wir Form Hilfsklasse verwenden:
<?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();?>
Form Helper-Klasse verwendet, wird automatisch hinzugefügt Eingabe in das Formular eingereicht mit einem zufälligen Tokenwert CSRF zu verhindern.
- Wenn wir verwenden, um benutzerdefinierte Form:
Wir brauchen eine Eingabe zu verhindern, dass unsere eigene Form mit CSRF eingereicht hinzuzufügen.
$csrf = array(
'name' => $this->security->get_csrf_token_name(),
'hash' => $this->security->get_csrf_hash()
);
<input type="hidden" name="<?=$csrf['name'];?>" value="<?=$csrf['hash'];?>" />
Wenn Sie das Formular Helfer verwenden, dann Form_Open() werden automatisch ein verstecktes csrf Feld in Ihren Formularen einfügen. Wenn nicht,
Dann können Sie verwenden get_csrf_token_name() und get_csrf_hash()
http://www.codeigniter.com/user_guide/libraries/security.html
http://www.sks.com.np/secure-your-codeigniter-application-using-csrf-token/
Wo Sie nicht Token-Code zeigen kann? Ansicht oder Controller? – Poonam