PHP可以加载加密文件吗?

时间:2012-02-17 20:09:52

标签: php

例如,我想:

require('encrypted.php')

“encrypted.php”包含用base64加密的php代码,我有密钥来解密它。有没有办法首先解密文件然后只是将解密的代码加载到PHP?

4 个答案:

答案 0 :(得分:7)

跳出来的第一种方式是:

eval("?".">".base64_decode(file_get_contents("encrypted.php"))."<"."?php");

然而,这可能不是一个好主意(邪恶的评估)。

为什么要加密PHP文件呢?没有人能看到源代码,除非你搞砸了。

答案 1 :(得分:5)

您需要使用file_get_contents()或类似内容加载文件的内容,然后在其上调用base64_decode()并将其eval()作为PHP。只有在您确定文件的内容且信任其来源时才能执行此操作。

// Only do this is the file is trusted!!!
$phpcode = base64_decode(file_get_contents("trusted_encoded_file.php"));
eval($phpcode);

注意:如果编码文件包含<?php ?>打开/关闭标记,请参阅@ Kolink的实现。

答案 2 :(得分:0)

您不需要任何密钥来解码base64数据,请使用base64_decode()

答案 3 :(得分:0)

这不是专业解决方案,但请看一下:http://www.zend.com/en/products/guard/