Как запустить функцию шифрования php для файлов javascript?

#javascript #php #ajax

#javascript #php #ajax

Вопрос:

Я хочу перенаправить страницу, когда функция ajax будет выполнена успешно. Но параметры ссылки, которые я хочу перенаправить, будут зашифрованы с помощью функции шифрования php.
Я пишу свой код следующим образом.

 $.ajax({
    url: '<?php echo base_url('sistem/check'); ?>',
    type: 'POST',
    data: {   
           code: code,
           id: id
          },
    cache: false,
    success: function (data, textStatus, jqXHR) {
             console.log(textStatus   ": "   jqXHR.status);
             console.log(data);
             var y = JSON.parse(data);
             var x = y.data.id;
             console.log(y.data.id)
             if (y.status !== 0){
                window.location.href = "<?php echo base_url('sistem/detail/'.encryption('x').''); ?>";
             }else{
             $('.response').html(y.message);
             }
             },
     error:(e) =>{
                    console.log(e.responseText);
                 }
           });
 

но при таком написании php шифрует строку x, а не переменную x.
Между тем, если я удалю кавычки, это приведет к ошибке этого кода.

Ответ №1:

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

Например (в PHP):

 $data->encryptedId = encrypted($data->id);
 

И вы могли бы обновить свой JavaScript следующим образом:

 window.location.href = "sistem/detail/"   y.data.encryptedId;
 

Такой подход к шифрованию небезопасен. Вы можете отправить только зашифрованный идентификатор с сервера клиенту и / или использовать HTTPS, но даже тогда, если кто-то получит URL-адрес, данные будут доступны.