传递敏感参数时,php中的URL加密(joomla + codeigniter)

时间:2013-11-14 21:44:54

标签: php codeigniter iframe encryption

我使用iframe在joomla中使用codeigniter。 如果管理员或用户,我需要获取用户组的某些页面 所以我找到了一种通过使用url将值发送到iframe的方法:

<?php
//add user id
$user_id = JFactory::getUser()->id;
?>

<iframe <?php echo $this->wrapper->load; ?>
   id="blockrandom"
   name="iframe"
   src="<?php echo $this->escape($this->wrapper->url) . "?user=" . $user_id; ?>"

问题是用户的类型会在url中出现,所以他们可以用任何方式加密url并在其他页面中解密它吗?

1 个答案:

答案 0 :(得分:0)

  

他们有什么办法加密该网址并在另一页中对其进行解密?

您正在寻求某种方法来做到这一点...

Encrypt a URL parameter

...实际上,您想要执行 this

Use a random lookup instead

in this blog post深入说明了为什么要避免加密的原因,但是主要原因是加密URL参数给应用程序带来了以下问题:

  1. 选择密文攻击
  2. 重放攻击
  3. 安全加密将导致URL的出现时间比大多数人满意(IV / nonce + HMAC标签)
  4. 侧通道密码分析

替代方法是:您只需在SQL表中添加一个UNIQUE TEXT字段,并用base64_encode(random_bytes(15))填充它,然后将其命名为一天即可。

现在在一起,在屋顶上大喊:不要加密URL参数,而是使用随机查找。