充值判断不严谨

    技术2022-05-19  19

    和人人网的联运,有玩家连续刷钱。

    这里涉及到3方,人人网,充值页面,游戏接口。

    流程是:

    充值页面调人人网接口扣人人豆。成功充值页面后调游戏接口加游戏内的钱。

     

    现象:

    游戏有加钱log,人人那边没有扣人人豆log。不是所有玩家都没有扣人人豆log。

     

    游戏加钱这边log显示接口调用ip都是充值页面,可以排除玩家破解了直接调用游戏接口加钱。

    可能情况:

    1.充值页面代码错误。

    2.人人网接口错误,部分玩家账号出错不扣钱又无记录。

     

    结果:

     

                       $result = file_get_contents( $payment_url );

                       if($result === '0')         之前代码是 if($result ==0)  

                       {

                                return true;

                       }

                       else

                       {

                                return false;

                       }

     

    if($result === '0')之前写的是if($result == 0),当$result为空的时候,返回的也是true

     

     

     

     

     

     

     

    PHP里面,有众多的函数检查一个变量是否存在,或者是否为真,或者是否为空。例如: empty, is_null, isSet, == null等等,你知道他们之间的细节差异吗?表中的T就是True, F就是False 原文地址: http://www.blueshoes.org/en/developer/php_cheat_sheet/

    检查变量的函数

    gettype()empty()is_null()isSet()(bool)$x = “”;stringT F T F $x = null;NULLT T F F var $x; (not set)NULLT T F F $x = array();arrayT F T F $x = false;booleanT F T F $x = 15;integerF F T T $x = 1;integerF F T T $x = 0;integerT F T F $x = -1;integerF F T T $x = “15″;stringF F T T $x = “1″;stringF F T T $x = “0″;stringT F T F $x = “-1″;stringF F T T $x = “foo”;stringF F T T $x = “true”;stringF F T T $x = “false”;stringF F T T

    注意: empty() 和isSet() 在传入一个未定义变量的时候,报warning的。

    用==比较

    truefalse10-1“1″“0″“-1″“1.3″1.3array()“foo”“”trueT F T F T T F T T T F T F falseF T F T F F T F F F T F T 1T F T F F T F F F F F F F 0F T F T F F T F F F F T T -1T F F F T F F T F F F F F “1″T F T F F T F F F F F F F “0″F T F T F F T F F F F F F “-1″T F F F T F F T F F F F F “1.3″T F F F F F F F T T F F F 1.3T F F F F F F F T T F F F array()F T F F F F F F F F T F F “foo”T F F T F F F F F F F T F “”F T F T F F F F F F F F T

    用===比较

    truefalse10-1“1″“0″“-1″“1.3″1.3array()“foo”“”trueT F F F F F F F F F F F F falseF T F F F F F F F F F F F 1F F T F F F F F F F F F F 0F F F T F F F F F F F F F -1F F F F T F F F F F F F F “1″F F F F F T F F F F F F F “0″F F F F F F T F F F F F F “-1″F F F F F F F T F F F F F “1.3″F F F F F F F F T F F F F 1.3F F F F F F F F F T F F F array()F F F F F F F F F F T F F “foo”F F F F F F F F F F F T F “”F F F F F F F F F F F F T

    最新回复(0)