例如,我想:
require('encrypted.php')
“encrypted.php”包含用base64加密的php代码,我有密钥来解密它。有没有办法首先解密文件然后只是将解密的代码加载到PHP?
答案 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/