[yii2] Cara mudah encrypt / decrypt parameter URL

08 Mei 2021

Home » Blog » Teknologi » [yii2] Cara mudah encrypt / decrypt parameter URL

Jika anda ingin mengenkripsi parameter url seperti ini:

https://frontend.bardimin/country/view?id=1

menjadi seperti ini:

https://frontend.bardimin/country/view?MN13pDvH/4+94LNY/NXJiDM4YTMwZjc5ZjRmMzA0Y2RjMDRmMjUyYmI5M2Q4MmE2ZDE4ODNkOTdkNzc1MGI3Yzg5OTE4NzVlMzBlMjZmNzkXVSsTf7d1y5a26LK8IcsggrWQi+hW4b0xIFKnIZowSTXZVxu+t2lGyx/skNKFo6g=

Anda dapat melakukannya dengan mudah di yii2. Berikut langkah-langkah untuk melakukan encript/decript pada parameter URL seperti contoh di atas:

1. Membuat class UrlRule

Langkah pertama yang harus Anda lakukan adalah membuat file UrlRule.php pada direktori “common/helpers” jika menggunakan yii2 advanced atau direktori “helpers” jika menggunakan basic. Kemudian copy/paste kode berikut ini:

security->encryptByKey($paramString,$this->jklKey,null)) : '';
        }
        return empty($params) ? $route : $route . '?' . $paramStringEncoded;
    }
    public function parseRequest($manager, $request)
    {
        $pathInfo = $request->getPathInfo();
        $queryString=$request->getQueryString();
        if(!empty($queryString)) {
            $params=unserialize(Yii::$app->security->decryptByKey(base64_decode($queryString),$this->jklKey,null));
            foreach ($params as $key => $value) {
                $paramsQuery[$key] = $value;
            }
            return [$pathInfo,$paramsQuery];
        }
        return false;
    }
}

2. Ubah file config/main.php

Selanjutnya ubah file config/main.php anda seperti ini:

    .............
	.............
	
	'components' => [
		.............
		.............
		.............
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing' => false,
            'rules' => [
                ['class' => 'common\helpers\UrlRule'],
            ],
        ],
		.............
		.............
	]
	.............
	.............

Artikel Terkait

File Sharing antara Hyper-V Host dan Guest

Berbagi File antara Host dan Guest pada Hyper-V dapat anda lakukan dengan beberapa cara berikut ini. Hyper-V adalah virtualisasi perangkat keras Microsoft yang memungkinkan Anda membuat dan menjalankan versi perangkat lunak komputer, yang disebut mesin virtual. Setiap...