From 6cd4f8ab271979b16ace8d125e18634001829c61 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 8 Nov 2017 16:00:17 +0200 Subject: [PATCH] -Bad get params 404 added --- components/LanguageUrlManager.php | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/components/LanguageUrlManager.php b/components/LanguageUrlManager.php index 9d1e6f0..7458e64 100755 --- a/components/LanguageUrlManager.php +++ b/components/LanguageUrlManager.php @@ -2,23 +2,39 @@ namespace artweb\artbox\language\components; use artweb\artbox\language\models\Language; + use yii\web\NotFoundHttpException; use yii\web\UrlManager; class LanguageUrlManager extends UrlManager { + /** + * @var array + */ + public $badGetParams = []; + + public function parseRequest($request) + { + foreach ($request->get() as $param => $value) { + if (in_array($param, $this->badGetParams)) { + throw new NotFoundHttpException(); + } + } + + return parent::parseRequest($request); + } /** * @inheritdoc */ public function createUrl($params) { - if(isset( $params[ 'language_id' ] )) { + if (isset($params[ 'language_id' ])) { $language = Language::findOne($params[ 'language_id' ]); - if($language === NULL) { + if ($language === null) { $language = Language::getDefaultLanguage(); } - unset( $params[ 'language_id' ] ); + unset($params[ 'language_id' ]); } else { $language = Language::getCurrent(); @@ -26,7 +42,7 @@ $url = parent::createUrl($params); - if($url == '/') { + if ($url == '/') { return '/' . $language->url; } else { return '/' . $language->url . $url; -- libgit2 0.21.4