Errorlog.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. defined('BASEPATH') OR exit('No direct script access allowed');
  3. /**
  4. * 由于钉釘现在接口限流了 没办法这边写一个接收器 作为接收需要监听信息的日志记录
  5. */
  6. class Errorlog extends Start_Controller {
  7. public function __construct(){
  8. parent::__construct();
  9. $this->load->_model("Model_logic_tools","logic_tools");
  10. $this->load->_model("Model_logic_ding","logic_ding");
  11. $this->load->_model("Model_zzerrlog","zzerrlog");
  12. }
  13. //定义方法的调用规则 获取URI第二段值
  14. public function _remap($arg,$arg_array)
  15. {
  16. if($arg == 'ding')//添加
  17. {
  18. $this->_ding();
  19. }
  20. else
  21. {
  22. die('No direct script access allowed');
  23. }
  24. }
  25. public function _ding(){
  26. //$ip = $_SERVER['REMOTE_ADDR']; 后期仅仅限制部署服务器的ip就好
  27. $param = json_decode(file_get_contents('php://input'), true);
  28. $key = $param['bs'];//核验秘钥
  29. $key = $this->logic_tools->toolsjiemi($key);
  30. $check_key = $this->logic_ding->getKey();
  31. if($check_key != $key){
  32. die('No direct script access allowed');
  33. }
  34. $content = $param['content'];
  35. if(!is_string( $content)){
  36. $content = json_encode($content);
  37. }
  38. //保存要监听的数据到日志表中
  39. $this->zzerrlog->insert([
  40. 'content'=>$content,
  41. 'created_time'=>date("Y-m-d H:i:s"),
  42. 'time'=>time(),
  43. ]);
  44. }
  45. }