charge_info.php 1.2 KB

123456789101112131415161718192021222324252627282930
  1. <?php
  2. /**
  3. * 公开一个查询订单的方法.
  4. * 思考: 此接口直接接受请求, 无防御和限流措施, 安全性很低.
  5. * 待改进: 给接口增加token/签名或者是直接api限流,降低被恶意攻击的风险.
  6. */
  7. namespace loyalsoft;
  8. include __DIR__ . '/../../main.php'; # 导入基础库
  9. HttpUtil::PostOnly();
  10. $args = JsonUtil::decode(HttpUtil::getQueryString());
  11. //$args = JsonUtil::decode('{"uid":"0BB6B1D602621423EBA082F17A57712F","sign":"e46791968db39da23800faf884fcb325"}');
  12. if (isset($args->uid) && isset($args->sign)) {
  13. $uid = $args->uid;
  14. $sign = md5($uid . PROJECTNAME); # 简单的签名机制,保证请求来自真正的客户端,防范批量采集
  15. if ($args->sign == $sign) {
  16. $arr = daoInst()
  17. ->select(" cpOrderId , product_name , amount , from_unixtime(order_ts) as order_ts")
  18. ->from("tpl_order_tab")
  19. ->where("uid")->eq($uid)
  20. ->andWhere("status")->eq(1)
  21. ->fetchAll();
  22. exit(JsonUtil::encode(array("array" => $arr)));
  23. }
  24. }
  25. exit(400); // 其他情况直接崩掉