Преглед изворни кода

Basic application enhancements.

- Turned on CSRF validation by default.
- Application params are now readed before config is defined to be able to use values from params when configuring.
- Added access control for login and logout.
Alexander Makarov пре 12 година
родитељ
комит
f7a28f3df0
2 измењених фајлова са 27 додато и 2 уклоњено
  1. 5 2
      config/web.php
  2. 22 0
      controllers/SiteController.php

+ 5 - 2
config/web.php

@@ -1,9 +1,12 @@
 <?php
-
+$params = require(__DIR__ . '/params.php');
 $config = array(
 	'id' => 'bootstrap',
 	'basePath' => dirname(__DIR__),
 	'components' => array(
+		'request' => array(
+			'enableCsrfValidation' => true,
+		),
 		'cache' => array(
 			'class' => 'yii\caching\FileCache',
 		),
@@ -23,7 +26,7 @@ $config = array(
 			),
 		),
 	),
-	'params' => require(__DIR__ . '/params.php'),
+	'params' => $params,
 );
 
 if (YII_ENV_DEV) {

+ 22 - 0
controllers/SiteController.php

@@ -9,6 +9,28 @@ use app\models\ContactForm;
 
 class SiteController extends Controller
 {
+	public function behaviors()
+	{
+		return array(
+			'access' => array(
+				'class' => \yii\web\AccessControl::className(),
+				'only' => array('login', 'logout'),
+				'rules' => array(
+					array(
+						'actions' => array('login'),
+						'allow' => true,
+						'roles' => array('?'),
+					),
+					array(
+						'actions' => array('logout'),
+						'allow' => true,
+						'roles' => array('@'),
+					),
+				),
+			),
+		);
+	}
+
 	public function actions()
 	{
 		return array(