2013-07-12 193 views
1

我现在创建了一个Javascript代码,它将php变量转换为javascript代码,我的问题是php变量很重要,我不想任何可以看到这个变量的方法,有任何方法可以通过我尝试的方式来实现使用obfuscator但它不会因为Javascript代码里面的PHP代码的工作,让我们说这是我的代码,如何保护php代码?

<?php 
$var = "this is impotant"; 
?> 
<script type="text/javascript"> 
    var javaScriptVar = "<?php echo $var; ?>"; 
</script> 

那么,有没有什么办法可以使用PHP变量在Javascript代码或隐藏的结果PHP代码?

+0

为了安全起见你应该使用'VAR jsvar = ;' –

回答

0

谁想要得到的价值,将得到它。但你可以

  • 动态通过AJAX注入他们
  • 编码的(Base64等)的值
  • 混淆代码
+0

我可以告诉我如何注入它们并对它们进行编码吗? –

+0

通过AJAX注入它,也就是在自己的请求加载它,会使值更容易比在HTML中嵌入其恕我直言, – Bergi

3

没有人看到PHP代码。但是如果你将值暴露给Javascript,它们就不再是秘密了。没有办法解决这个问题。您不能在Javascript中使用该值并且不会显示它。

如果您希望在服务器上保留进程数据的密钥并可用于该用户的下一个请求,请使用会话。

2

人们只会看到变量的值。他们不知道它是什么或它应该是多么重要。没有人会看到变量名称,因为PHP代码在页面发送到客户端之前执行。因此,不需要对价值进行混淆,因为您需要价值,所以您无论如何不能。

一个例子。如果我在文件中使用此PHP代码

<p>Hello Mr <?php echo $MY_SUPER_SECRET_VARIABLE ?></p> 

唯一让人一眼就能在源头上看到在页面加载时是

<p>Hello Mr Bond</p> 

,如果它被放置在JavaScript中的规则同样适用

+0

除非我误解,不完全。 JS代码中的变量名称非常易读,除非被混淆。 –

+0

我想你误会了。我完全在谈论PHP代码,这也适用于JS块内的PHP代码。我没有直接谈论JS变量。我可以看到它如何可能会令人困惑,虽然 – PlausibleSarge

+0

是的,然后我误解了。你的措词含糊不清。不过,从我身上投票。 –

2

首先你要明白,JavaScript是在客户端执行,某些程序设计背景的人可以通过某种方式访问​​每段代码和变量。

尽管您可以混淆源代码并对变量进行加密以使其难以阅读,但在客户端发生事情时不会有100%的保护。

0

PHP文件将被解释为静态(如HTML或XML格式)文件,意味着所有的变量都具有一定values.What用户更换看到的是静态的,没有PHP代码显示,但只是解释文本。

+0

我的意思是如何隐藏解释文本嗅出 –