2013-07-20 62 views
0

我又做实验编码的var_dump,现在,我tryng做到这一点:与Base_64

<script type="text/javascript"> 
document.write(atob("<?php var_dump(base64_encode(include("index.php")));?>")); 
</script> 

很好,问题是输出未使用Base64编码。如果我尝试:

<script type="text/javascript"> 
    document.write(atob("<?php base64_encode(var_dump(include("index.php")));?>")); 
    </script> 

它返回我同样的事情,如果我尝试:

<script type="text/javascript"> 
     document.write(atob("<?php echo base64_encode(var_dump(include("index.php")));?>")); 
     </script> 

实在是太一样的...

你能帮助我吗?谢谢,很多

+0

尝试'index.php'而不是'index.php'...这个问题可能是由错误的引号引起的 –

+0

我也试过了..我现在再试一次,但它是相同的情况。 – Darkness

回答

2

要在编码的返回值include。不是包含的脚本的输出。使用输出缓冲区使用ob_start()和朋友来捕获输出。

注意:这样做看起来像一个糟糕的体系结构... thre应该是一个函数返回包含文件的结果作为字符串,没有ob hack。

+0

好了,终于我试图由ob_start(): <脚本类型= “文本/ JavaScript的”> 文件撰写(ATOB(““)); – Darkness

+0

谢谢,很多! – Darkness