和人人网的联运,有玩家连续刷钱。
这里涉及到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