CodeIgniter URL-шифрование - PullRequest
0 голосов
/ 15 апреля 2020

Все зрители Я новичок в Codeigniter, мне нужно ваше руководство для выполнения моей работы, я хочу зашифрованный полный URL-адрес, как показано в примере ниже.

Например, это мой URL www.example.com и мой контроллер дома , поэтому полный URL-адрес www.example.com/home

теперь я хочу зашифровать все контроллеры, функции, как показано ниже

www.example.com/5115784bef2514430e7f74d9a71d4142a942efb0f7cc428626bda7633326f9d015fbacc60d93cd6b858f9b6e05c1e56263acb24297cecc720467eb4f222d81e5hdn5B

Я могу хорошо зашифровать и расшифровать текст, но я просто не получаю Как я могу расшифровать из URL и понять, какой контроллер или функцию он вызвал, я хочу расшифровать все после base_url.

, пожалуйста, не предлагайте мне использовать общий контроллер, потому что я уже знаю, что и так или иначе общий контроллер его скрывают все, поэтому его шифрование не требуется, как я полагаю.

В ожидании вашего положительного ответа, надеюсь, моя проблема скоро будет решена. ТИА

Ответы [ 3 ]

0 голосов
/ 15 апреля 2020

Go с URI Routing и определите один контроллер для декодирования того, что вы передаете, и вызовите соответствующий контроллер / метод из него.

0 голосов
/ 15 апреля 2020

Вы можете использовать URI Routing с регулярными выражениями.

$route["other_controllers/method"] = "other_controllers/method"; //you can add this kind of lines to not to affect other controllers
$route["([a-zA-Z0-9]+)"] = "home/decrypt/$1";

В домашнем контроллере вы можете

  1. Перенаправить на страницу

Или

Загрузить представление
public function decrypt($token){
   //geting the page according to the token from database.
   $desired_page = $this->some_model->get_page($token);

   //if you want to redirect
   redirect($desired_page);

   //if you want to load a view
   $this->load->view($desired_page);
}
0 голосов
/ 15 апреля 2020

Ну, я никогда раньше не шифровал URL, но вы можете использовать функцию php url_encode

и функцию "str_replace".

причина использования "str_replace" "beacause url_encode кодирует только специальный символ в URL.

Надеюсь, я помогу.

Попробуйте код ниже.

urlencode (str_replace (" your_domain.com/YourCOntrollerName/YourMethodName "," SM5ah52 ", yor_domain.com." YourCOntrollerName / YourMethodName / YOuData "));

Если не это. В CI Framework есть библиотека, которая называется Encryption. Вы можете получить помощь оттуда Шифрование .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...