PHP / JavaScript隐藏信息

时间:2013-02-02 20:55:45

标签: php javascript hide

我有以下代码:

<?php

$secret_data = "data noone can know";

?>

bla bla bla alot of html

<script type="text/javascript">
function("bla bla", {
data: '<?=$secret_data?>'
}
);
</script>

当人们在他们的网络浏览器中查看源时,他们将知道数据。我怎样才能在我的JavaScript中使用它,但仍保持安全?

我能以某种方式将JavaScript放在PHP中吗?

3 个答案:

答案 0 :(得分:1)

您目前正在做什么,但最终用户将能够看到“秘密数据”。用户可以看到任何客户端。如果您需要将一些数据传递给您不希望用户看到的脚本,则可以将其存储在会话中。

<?php
    session_start();
    $_SESSION['secret_data'] = 'data noone can know';
?>

答案 1 :(得分:1)

使用Javascript等客户端技术时,无法隐藏源代码并保密。它的基本原则之一。它运行在客户端。

取自site

  

JavaScript就是所谓的客户端脚本语言。那   意味着它是一种在一个内部运行的计算机编程语言   Internet浏览器(浏览器也称为Web客户端,因为它   连接到Web服务器以下载页面。)

不幸的是,你的陈述没有意义:

  

我需要使用javascript来使用秘密数据,而不是让它   最终用户看到它是什么

为了保密代码/信息,必须在服务器上实现/存储。

我鼓励您进一步了解Javascript的实际工作原理。这是描绘典型架构的图像:

Server Side and Client Side Technology

答案 2 :(得分:1)

  

当另一个用户需要查看用户内容时,它将在javascipt中使用。但如果其他人知道此ID,则该用户可以编辑该ID。因此需要隐藏

你的问题是:

  • 如果用户知道该ID,则可以查看内容
  • 如果用户知道该ID,则可以编辑内容

您只希望创建内容的用户能够对其进行编辑,但任何知道该ID的人都可以对其进行编辑。

由于您的系统目前存在,您无法在不使内容无法查看或编辑的情况下保密ID,如果不能查看和编辑内容,则无法提供内容。

因此,试图保持身份秘密不是解决方案。

您需要为系统添加额外的检查层。由于任何知道id的人都可以查看内容,因此您可以保留查看部分。

由于只允许创建内容的用户对其进行编辑,因此需要额外的保护。当请求进入编辑内容时,您必须验证请求来自已知用户(即用户已登录),并且您必须确保它们已经授权编辑内容(即登录用户的用户名与创建内容的用户的用户名相同,或者他们是管理员或具有其他合适的权限)。

该auth / authz层可以在服务器上完成。