From 8484ce22584b8714622833adcc7ebfe3ef9cf90e Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 26 Dec 2011 12:02:52 +0400 Subject: experimental CSRF protection --- backend.php | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) (limited to 'backend.php') diff --git a/backend.php b/backend.php index 1805ce360..2e4da500f 100644 --- a/backend.php +++ b/backend.php @@ -1,5 +1,5 @@ before($method)) { - if ($method && method_exists($handler, $method)) { - $handler->$method(); - } else if (method_exists($handler, 'index')) { - $handler->index(); + if (validate_csrf($csrf_token) || $handler->csrf_ignore($method)) { + if ($handler->before($method)) { + if ($method && method_exists($handler, $method)) { + $handler->$method(); + } + $handler->after(); + return; } - $handler->after(); + } else { + header("Content-Type: text/plain"); + print json_encode(array("error" => array("code" => 6))); return; } } -- cgit v1.2.3-54-g00ecf