Php 如何使用eval()function操作base64编码的脚本?
请参阅下面的代码:Php 如何使用eval()function操作base64编码的脚本?,php,eval,decode,encode,Php,Eval,Decode,Encode,请参阅下面的代码: <?php $str1 = 'My Name Is : '; $str2 = 'Dvid!'; echo $str1.$str2; ?> PD9waHANCiRzdHIxID0gJ015IE5hbWUgSXMgOiAnOw0KJHN0cjIgPSAnRHZpZCEnOw0KZWNobyAkc3RyMS4kc3RyMjsNCj8+DQo= 现在如何使用编码的php文件? 我认为eval()函数就是答案 因此,我更改了php文件,如下所示: <?php $s
<?php
$str1 = 'My Name Is : ';
$str2 = 'Dvid!';
echo $str1.$str2;
?>
PD9waHANCiRzdHIxID0gJ015IE5hbWUgSXMgOiAnOw0KJHN0cjIgPSAnRHZpZCEnOw0KZWNobyAkc3RyMS4kc3RyMjsNCj8+DQo=
现在如何使用编码的php文件?我认为eval()函数就是答案
因此,我更改了php文件,如下所示:
<?php
$str = 'PD9waHANCiRzdHIxID0gJ015IE5hbWUgSXMgOiAnOw0KJHN0cjIgPSAnRHZpZCEnOw0KZWNobyAkc3RyMS4kc3RyMjsNCj8+DQo=';
eval("base64_decode(\$str);");
?>
我的问题是我真的不知道为什么输出是空白的(白色屏幕)?我如何解决这个问题 编辑1:
在回答如下问题后,我改为使用include进行测试,结果发现一个错误:
<?php
include 'data://text/plain;base64,PD9waHANCiRzdHIxID0gJ015IE5hbWUgSXMgOiAnOw0KJHN0cjIgPSAnRHZpZCEnOw0KZWNobyAkc3RyMS4kc3RyMjsNCj8';
?>
和错误:重要提示:
我正在寻找一种不改变服务器配置的方法,因为发布后我们无法访问远程主机 编辑2:
我搬走了
<?php
?>
base64编码->中的部件仍有空白屏幕
感谢您的关注这里有两个问题:
base64_decode($str);
这没什么用
标记,eval
无法处理include
,而使用PHPdata://
URI:
include 'data://text/plain;base64,PD9waHANCiRzdHIxID0gJ015IE5hbWUgSXMgOiAnOw0KJHN0cjIgPSAnRHZpZCEnOw0KZWNobyAkc3RyMS4kc3RyMjsNCj8+DQo=';
请注意,您需要启用
allow\u url\u include
,才能正常工作。file\u get\u contents有什么问题才能打开文件。您好,但我最终需要一个可行的网站(echo只是一个示例-我说的是一个包含许多html元素的完整网站),而不是纯文本。您的代码还有三个错误。请插入完整的代码@月光:这不是纯文本,也不包含错误。通读整件事。为什么base64_解码($str);不执行任何操作->返回php代码(作为字符串)。所以我们可以计算该字符串。@MoonLight:首先,是的,base64\u decode
将PHP作为字符串返回以进行计算。然而,你没有正确地评估它;见科尔·约翰逊的答案。无论如何,关键是你不能在它上面使用eval
,因为它里面有
标签eval
仅处理“原始”PHP代码。最后,请参阅脚注了解为什么会出现错误。引述:“请注意,您需要启用allow_url_include才能工作。”如果不按照您的要求重新配置服务器,这是不可能的。这到底有什么意义?混淆?如果是的话,不用麻烦了。Base64无法工作。我们可以通过重新配置服务器来修复该错误。但我没有远程访问主机服务器的权限。我们可以对eval()函数做些什么吗?或者给我看看另一种可行的模糊处理方法!