aboutsummaryrefslogtreecommitdiff
path: root/views/failsafe
diff options
context:
space:
mode:
Diffstat (limited to 'views/failsafe')
-rw-r--r--views/failsafe/input/form.php6
-rw-r--r--views/failsafe/input/securitytoken.php17
2 files changed, 23 insertions, 0 deletions
diff --git a/views/failsafe/input/form.php b/views/failsafe/input/form.php
index 33ddfc3ea..35e718adb 100644
--- a/views/failsafe/input/form.php
+++ b/views/failsafe/input/form.php
@@ -41,7 +41,13 @@ if (isset($vars['method'])) {
$method = strtolower($method);
+// Generate a security header
+$security_header = "";
+if (!isset($vars['disable_security']) || $vars['disable_security'] != true) {
+ $security_header = elgg_view('input/securitytoken');
+}
?>
<form <?php if ($id) { ?>id="<?php echo $id; ?>" <?php } ?> <?php if ($name) { ?>name="<?php echo $name; ?>" <?php } ?> action="<?php echo $action; ?>" method="<?php echo $method; ?>" <?php if ($enctype!="") echo "enctype=\"$enctype\""; ?>>
+<?php echo $security_header; ?>
<?php echo $body; ?>
</form> \ No newline at end of file
diff --git a/views/failsafe/input/securitytoken.php b/views/failsafe/input/securitytoken.php
new file mode 100644
index 000000000..a2a4a0e01
--- /dev/null
+++ b/views/failsafe/input/securitytoken.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * CSRF security token view for use with secure forms.
+ *
+ * It is still recommended that you use input/form.
+ *
+ * @package Elgg
+ * @subpackage Core
+ * @author Curverider Ltd
+ * @link http://elgg.org/
+ */
+
+$ts = time();
+$token = generate_action_token($ts);
+
+echo elgg_view('input/hidden', array('internalname' => '__elgg_token', 'value' => $token));
+echo elgg_view('input/hidden', array('internalname' => '__elgg_ts', 'value' => $ts));