2016-02-07 3 views
0

На самом деле мне нужно зашифровать yii2 URL-адрес идентификатор, как нижеКак я могу выполнить этот Yii код в Yii2

Например: от:

http://localhost/projectname/backend/web/index.php?r=user%2Fview&id=20 

к:

http://localhost/projectname/backend/web/index.php?r=user%2Fview&id=Wmg4T2FZTkNhVjFIMGlrU1ZDUkhMZz09 

при поиске решения для этого я нашел решение на Yii.

Как можно преобразовать этот код в Yii2. conifg/main.php

'Urlmanager' => [ 
'rules' => array(
'' => 'site/index', // normal URL rules 
array(// your custom URL handler 
'class' => 'application.components.CustomUrlRule', 
), 
), 
] 

и мой компонент CustomUrlRule,

class CustomUrlRule extends CBaseUrlRule { 

public function createUrl($manager, $route, $params, $ampersand) { 
$key = "testKey"; 
return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $route, MCRYPT_MODE_CBC, md5(md5($key)))); 
} 

public function parseUrl($manager, $request, $pathInfo, $rawPathInfo) { 
$key = "testKey"; 
return rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($pathInfo), MCRYPT_MODE_CBC, md5(md5($key))), "\0"); 
} 

} 

Этот выход будет ->http://localhost/projectname/backend/web/index.php?r=user%2Fview&id=sTK7yXb5Pu22d4n5tbGgT6hwQxhvlrzAe5KWJ0Y4020=

да поможет мне преобразовать этот код выше, чтобы Yii2

+0

Пожалуйста, правильно откорректируйте свои образцы кода. – SohelAhmedM

+0

приведенный выше код - это мои образцы, как я могу преобразовать его в формат yii2. – Nodemon

+0

Вам больше не нужно кодировать и декодировать значение id 'int value. Вы можете создать пользовательский помощник, который выполняет эту задачу. Однако использование односторонних хэширующих функций будет сложно декодировать. Итак, у вас есть один из двух вариантов: сохранение значения кодированного идентификатора в другом уникальном ключевом поле в базе данных или, например, не использование хэширования 'md5'. – SaidbakR

ответ

0

На самом деле мне нужно шифровать идентификатор urii yii2, как показано ниже

Вы уверены, что хотите encrypt your URL parameters?