【问题标题】:URL Encryption in php when passing sensitive parameters (joomla+codeigniter)传递敏感参数时php中的URL加密(joomla+codeigniter)
【发布时间】:2013-11-14 21:44:53
【问题描述】:

我通过 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 并在其他页面中解密它?

【问题讨论】:

  • 当然。一个非常简单的非加密但仅用于示例将是src=&lt;?php echo base64_encode($this-&gt;escape(...)),然后是接收脚本中的base64_decode()
  • 谁能用你的方式破解它?
  • 当然。如果您使用谷物盒编码器进行加密,那么任何人都可以破解它。适当的选择和使用加密功能取决于您。 span>
  • 他们的其他方式更安全吗?
  • 当然,不要通过客户端往返安全数据。将数据存储在服务器端会话中,因此用户永远没有机会看到它。

标签: php codeigniter iframe encryption


【解决方案1】:

他们有什么方法可以加密网址并在其他页面中解密吗?

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

...在现实中,你想这样做这个

你想要避免加密的原因已经在in this blog post进行了深入的解释,但主要原因是加密URL参数给你的应用程序带来了以下问题:

  1. 选择密文攻击
  2. 重放攻击
  3. 安全加密会导致 URL 比大多数人满意的要长(IV/nonce + HMAC 标签)
  4. 边信道密码分析

而另一种选择是:您可以简单地将UNIQUE TEXT 字段添加到您的 SQL 表中,用base64_encode(random_bytes(15)) 填充它,然后就可以收工了。

现在大家齐心协力,在屋顶上大喊:不要加密 URL 参数,而是使用随机查找。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-24
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 2020-07-07
    • 2018-04-21
    相关资源
    最近更新 更多