目录
回复讨论(解决方案)
首页 后端开发 php教程 大家瞅瞅,eval()

大家瞅瞅,eval()

May 29, 2018 am 09:15 AM
code eval

xu版主,你遇见过没,代码在测试服上跑的没问题,然后正式服用的2008+php5.4+fastcgi,有点怪异,

回复讨论(解决方案)

无代码,无真相

无代码,无真相

<?php  
/**  
  * wechat php test  
  */  
 
class MpapiAction extends Action{  
private $id;  
 
public function getId(){  
return $id = $_REQUEST[&#39;appid&#39;];  
}  
public function index(){  
Log::write(&#39;eval是否开启:&#39;.function_exists(&#39;eval&#39;));  
Log::write("remote_addr:".$_SERVER[&#39;REMOTE_ADDR&#39;].(strpos($_SERVER[&#39;REMOTE_ADDR&#39;], "101.226"))?" from weixin":"unknow ip");  
Log::write("query_string:".$_SERVER[&#39;QUERY_STRING&#39;]);  
header("Content-type:text/html;charset=utf-8");  
$str = md5($_REQUEST[&#39;appid&#39;]."weike86.com");  
define("TOKEN", $str);  
Log::write(&#39;TOKEN::&#39;.$str);  
$this->valid();  
$wechat = new WechatAction();  
$wechat->responseMsg($_REQUEST[&#39;appid&#39;]);  
}  
 
public function valid(){  
        $echoStr = $_GET["echostr"];  
        //valid signature , option  
        if($this->checkSignature()){  
         Log::write(&#39;$echoStr&#39;.$echoStr);  
         Log::write(&#39;HTTP_RAW_POST_DATA:&#39;.$GLOBALS["HTTP_RAW_POST_DATA"]);  
         echo $echoStr;  
         //exit;  
       }  
    }  
      
private function checkSignature(){  
        // you must define TOKEN by yourself  
        if (!defined("TOKEN")) {  
            throw new Exception(&#39;TOKEN is not defined!&#39;);  
        }  
          
        $signature = $_GET["signature"];  
        $timestamp = $_GET["timestamp"];  
        $nonce = $_GET["nonce"];  
          
$token = TOKEN;  
$tmpArr = array($token, $timestamp, $nonce);  
        // use SORT_STRING rule  
sort($tmpArr, SORT_STRING);  
$tmpStr = implode( $tmpArr );  
$tmpStr = sha1( $tmpStr );  
 
if( $tmpStr == $signature ){  
return true;  
}else{  
return false;  
}  
}  
 
}  
 
?>
登录后复制

无代码,无真相

正式服务器返回的值(异常)    
测试服务器正常响应微信服务器返回的值(正常)  

你应该贴出出错行附近的代码!

那天弄出来了,忘记给出答案了。就是有BOM阻止了页面的正常响应,网上有php的类,还有清除bom工具

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

python中eval是什么意思? python中eval是什么意思? May 22, 2019 pm 03:18 PM

eval的意思是“评估”,是python中的一个内置函数,用于执行一个字符串表达式,并返回表达式的计算结果;即变量赋值时,等号右边的表示是写成字符串的格式,返回值就是这个表达式的结果。语法“eval(表达式[, globals[, locals]])”。

win下php怎么禁止eval win下php怎么禁止eval Oct 31, 2022 am 09:33 AM

win下php禁止eval的方法:1、下载“PHP_diseval_extension”;2、找到服务器当前使用的PHP;3、打开PHP配置文件 ;4、添加“extension=diseval.so”代码;5、重启服务即可。

在Visual Studio Code中编辑Unity项目,您现在可以开始了 在Visual Studio Code中编辑Unity项目,您现在可以开始了 Aug 08, 2023 am 10:21 AM

Microsoft发布了VisualStudioCode的Unity扩展预览版。这个新的Unity扩展将允许您编写和调试Unity游戏。这个新的Unity扩展带来了VisualStudio和VisualStudioToolsforUnity上已经提供的一些流行功能,使VisualStudioCode中的C#更好地进行Unity开发。目前,适用于VSCode的Unity扩展提供以下内容:一个Unity调试器,用于调试您的Unity编辑器和Unity播放器。特定于Unity的C#分析器和重构。Uni

python中eval用法通俗讲解 python中eval用法通俗讲解 Mar 25, 2024 pm 02:08 PM

在Python中,eval() 函数用于执行一个字符串表达式并返回其结果。它可以将一个包含表达式的字符串作为参数,并计算这个表达式的值。eval() 函数的功能强大,但需要注意的是,它会执行字符串中包含的任何有效的 Python 表达式,因此在使用时应避免接受外部输入的字符串,以防止安全漏洞。

eval在python中是什么 eval在python中是什么 Aug 08, 2023 pm 05:07 PM

eval在python中是一个内置函数,用于将字符串作为代码进行解析和执行,并返回执行结果。由于“eval”函数可以执行任意的Python代码,因此在使用"eval"函数时需要谨慎考虑安全性问题,如果给“eval”函数传入不可信的字符串,可能会导致代码注入等安全问题。

怎么使用Python eval函数 怎么使用Python eval函数 Jun 04, 2023 am 09:19 AM

Python的eval()我们可以使用内置的Pythoneval()[1]从基于字符串或基于编译代码的输入中动态地计算表达式。如果我们向eval()传递一个字符串,那么该函数会解析它,将其编译为字节码[2],并将其作为一个Python表达式进行计算。但是如果我们用一个编译过的代码对象调用eval(),那么该函数只执行计算步骤,如果我们用相同的输入多次调用eval(),这就非常方便了。Python的eval()的定义如下。eval(expression[,globals[,locals]])该函数

EverValue Coin (EVAL) 上线 XT 交易所,让用户增持比特币 EverValue Coin (EVAL) 上线 XT 交易所,让用户增持比特币 Oct 07, 2024 pm 03:30 PM

新加坡, Oct. 07, 2024 (GLOBE NEWSWIRE) -- 我们很高兴地宣布 EVAL(EverValue Coin)即将在 XT 交易所上市。

HTML和代码:仔细观察术语 HTML和代码:仔细观察术语 Apr 10, 2025 am 09:28 AM

htmlisaspecifictypefodyfocusedonstructuringwebcontent,而“代码” badlyLyCludEslanguagesLikeLikejavascriptandPytyPythonForFunctionality.1)htmldefineswebpagertuctureduseTags.2)“代码”代码“ code” code code code codeSpassSesseseseseseseseAwiderRangeLangeLangeforLageforLogageforLogicIctInterract

See all articles