Есть ли способ передать переменную php, которая будет «скрыта», даже если пользователь проверит исходный код моей страницы? - PullRequest
0 голосов
/ 11 ноября 2018

когда я использую код типа

<input type="hidden" name="foo" value="<?php echo $var;?>" />

, $ var отображается в исходном коде моей веб-страницы.Есть ли способ, которым я могу скрыть эту переменную от моих пользователей, видящих в моем исходном коде, используя PHP / Codeigniter?Я использую codeigniter для моего проекта.

Короче говоря, я хочу отправить данные контроллеру при отправке формы.но не через URL или скрытые поля ввода html

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

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

Загрузка библиотеки: $this->load->library('encryption');

вы можете найти более подробную информацию в документации о его конфигурации. Шифрование

$var = 'value';
$var = $this->encryption->encrypt($var);
$this->load->view('view', array('var' => $var));

Теперь у вас есть зашифрованный $var, делайте все, что вам нужно, и после извлечения вы можете просто использовать это:

$var = $this->encryption->decrypt($var);
echo $var;    // value
0 голосов
/ 11 ноября 2018

Вы можете использовать библиотеку сеансов codeigniter для хранения данных, которые не будут видны в исходном коде.

  • Библиотека сеансов должна быть загружена ($this->load->library('session'); или автозагрузка в application/config/autoload.php)
  • В вашем контроллере установите данные, которые вы хотите сохранить ($this->session->set_userdata(['your_secret_data_key' => 'your_secret_data_value']);)
  • Вы можете получить свои данные ($this->session->userdata('your_secret_data_key');)

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

Дополнительная информация о библиотеке сеансов: Документация библиотеки сеансов Codeigniter

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