【问题标题】:How to secure the php code?如何保护 php 代码?
【发布时间】:2013-07-12 07:21:04
【问题描述】:

我现在创建了一个 Javascript 代码,将 php 变量转换为 javascript 代码,我的问题是 php 变量很重要,我不希望任何人看到这个变量是否有任何方法可以通过我尝试的方式做到这一点使用obfuscator,但由于 Javascript 代码中的 PHP 代码,它不起作用,假设这是我的代码,

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

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

【问题讨论】:

  • 为了安全起见,您应该使用var jsvar = &lt;?php echo json_encode($var); ?&gt;;

标签: php javascript variables


【解决方案1】:

没有人看到 PHP 代码。但是,如果您将值公开到 Javascript 中,它们就不再是秘密了。没有办法处理这个问题。您不能在 Javascript 中使用该值并且不显示它。

如果您想在服务器上保持进程数据的机密性,并且可用于该用户的下一个请求,请使用会话。

【讨论】:

    【解决方案2】:

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

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

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

    当页面加载时,人们唯一能在源代码中看到的是

    <p>Hello Mr Bond</p>
    

    如果放在 Javascript 中,同样的规则也适用

    【讨论】:

    • 除非我理解错了,否则不完全是。除非经过混淆处理,否则 JS 代码中的变量名非常易读。
    • 我想你误会了。我完全是在谈论 PHP 代码,它也适用于 JS 块内的 PHP 标记。我不是直接谈论 JS 变量。我可以看到它是如何令人困惑的
    • 是的,我当时误解了。你的措辞有点模棱两可。不过,请从我这里投票。
    • @PlausibleSarge 有什么方法可以插入 php 变量而不回显它??
    • 嗯,你可以用它做你想做的事,但是如果你想查看任何计算的结果,你将不得不在某处回显一些东西,即使它改变了你的页面方式(例如在图像标签中设置 href 字段)
    【解决方案3】:

    首先,您需要了解 Javascript 是在客户端执行的,具有一定编程背景的人可以通过某种方式访问​​每段代码和变量。

    虽然您可以混淆源代码并加密变量以使其更难阅读,但当客户端发生事情时,并没有 100% 的保护。

    【讨论】:

      【解决方案4】:

      谁想得到价值,谁就会得到它。但你可以

      • 通过 ajax 动态注入
      • 对值进行编码(base64 等)
      • 混淆代码

      【讨论】:

      • 通过 ajax 注入它,即将它加载到自己的请求中,比将它嵌入到 html imho 中更容易嗅探该值
      【解决方案5】:

      PHP 文件会被解释成静态(如 html 或 xml 格式)文件,意味着所有变量都将被替换为某些值。用户看到的是静态的,没有显示 php 代码,只是解释文本。

      【讨论】:

      • 我的意思是如何隐藏解释文本
      猜你喜欢
      • 2015-01-04
      • 1970-01-01
      • 2018-06-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      • 2014-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多