目次
ディスカッション (解決策) への返信

見てください、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;  
}  
}  
 
}  
 
?>
ログイン後にコピー

コードなし、真実なし

公式サーバーから返される値 (例外)
WeChat サーバーから返される値にテスト サーバーは正常に応答します (通常)

エラー行の近くにコードを投稿する必要があります。

その日はわかったのに、答えを忘れてしまいました。ページの正常な応答を妨げる BOM が存在します。インターネット上には PHP クラスがあり、BOM 削除ツールもあります

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Pythonのevalとはどういう意味ですか? Pythonのevalとはどういう意味ですか? May 22, 2019 pm 03:18 PM

eval は「評価」を意味し、文字列式を実行してその式の計算結果を返すために使用される Python の組み込み関数です。つまり、変数を代入する場合、等号の右側の表現は次のようになります。文字列形式で記述され、戻り値はこの式の結果です。構文「eval(expression[, 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 は、Visual Studio Code 用の Unity 拡張機能のプレビュー バージョンをリリースしました。この新しい Unity 拡張機能を使用すると、Unity ゲームを作成およびデバッグできるようになります。この新しい Unity 拡張機能は、Visual Studio および Visual Studio Tools for Unity ですでに利用可能ないくつかの人気機能をもたらし、Visual Studio Code の C# を Unity 開発により適したものにします。現在、VSCode の Unity 拡張機能は次のものを提供しています。 Unity エディターと Unity プレーヤーをデバッグするための Unity デバッガー。 Unity 固有の C# アナライザーとリファクタリング。ユニ

Pythonでのevalの使い方を簡単に解説 Pythonでのevalの使い方を簡単に解説 Mar 25, 2024 pm 02:08 PM

Python では、eval() 関数を使用して文字列式を実行し、その結果を返します。式を含む文字列をパラメータとして受け取り、その式を評価します。 eval() 関数は強力ですが、文字列に含まれる有効な Python 式を実行することに注意してください。そのため、セキュリティの脆弱性を防ぐために、この関数を使用する場合は外部入力文字列を受け入れないようにする必要があります。

Pythonのevalとは何ですか Pythonのevalとは何ですか 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() に渡すと、関数はそれを解析し、bytecode[2] にコンパイルし、Python 式として評価します。ただし、コンパイルされたコード オブジェクトで eval() を呼び出すと、関数は計算ステップのみを実行します。これは、同じ入力で eval() を複数回呼び出す場合に非常に便利です。 Pythonのeval()は次のように定義されています。 eval(expression[,globals[,locals]]) この関数

HTMLとコード:用語を詳しく見る HTMLとコード:用語を詳しく見る Apr 10, 2025 am 09:28 AM

htmlisaspecifictypeofcodefocuseduructuringwebcontent

EverValue Coin (EVAL) が XT Exchange に上場、ユーザーがビットコイン保有を強化できるよう支援 EverValue Coin (EVAL) が XT Exchange に上場、ユーザーがビットコイン保有を強化できるよう支援 Oct 07, 2024 pm 03:30 PM

シンガポール、2024 年 10 月 7 日 (グローブ ニュースワイヤー) -- XT Exchange への EVAL (EverValue Coin) の今後の上場を発表できることを嬉しく思います。

See all articles