有什么方法可以传递一个即使被用户检查我的页面源代码也将被“隐藏”的php变量?

时间:2018-11-11 15:18:35

标签: php html forms codeigniter codeigniter-3

当我使用类似的代码时,

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

$ var显示在我的网页的源代码中。有什么办法可以通过使用PHP / Codeigniter在我的源代码中向用户隐藏该变量?正在为我的项目使用codeigniter。

简而言之,我想做的就是在提交表单时将数据发送到控制器。但不能通过url或隐藏的html输入字段

2 个答案:

答案 0 :(得分:2)

您可以使用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's session library documentation

答案 1 :(得分:0)

您可以使用加密库对该值进行加密,然后再将其发送到视图,并在检索到该值后再次对其解密。

加载库:$this->load->library('encryption');

您可以在文档中找到有关其配置的更多详细信息。 encryption

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

现在您已经有了一个加密的$var,您可以做任何事情,并且在检索后就可以使用它:

$var = $this->encryption->decrypt($var);
echo $var;    // value