Zzjobs.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. defined('BASEPATH') or exit('No direct script access allowed');
  3. /**
  4. * 此类是为了解决erp没有队列的问题,为了解决这个问题,先写一下这个类,避免后期写那么多定时任务类
  5. */
  6. class Zzjobs extends Start_Controller
  7. {
  8. private $serect_str = "erpjob";
  9. private $user_agent = 'XuChangLongYi/Job (Erp)';
  10. private $api = "ly202504160727";
  11. public function __construct()
  12. {
  13. parent::__construct();
  14. }
  15. public function _remap($arg, $arg_array)
  16. {
  17. $user_agent = empty($_SERVER['HTTP_USER_AGENT'])?"":$_SERVER['HTTP_USER_AGENT'];
  18. $token = empty($_SERVER['HTTP_X_AUTH_TOKEN'])?"":$_SERVER['HTTP_X_AUTH_TOKEN'];
  19. $time = $this->input->get('time',true);
  20. $api = $this->input->get('api',true);
  21. $this->checkAuth($user_agent,$token,$time,$api);
  22. if ($arg == 'jobs') //调出单
  23. {
  24. $this->_jobs();
  25. } else {
  26. $this->_index();
  27. }
  28. }
  29. /**
  30. * 校验是否有权限可以执行
  31. * $user_agent 自定义的请求客户端名称
  32. * $token 自定义的清华客户端的token
  33. * $time 请求的时间
  34. *
  35. */
  36. private function checkAuth($user_agent,$token,$time,$api){
  37. if($api != $this->api){
  38. exit("Access denied due to insufficient permissions");
  39. }
  40. $check_str = date("Ymd")."_".$this->serect_str."_".$time;
  41. if(empty($user_agent)){
  42. exit('No direct script access allowed');
  43. }
  44. if($user_agent != $this->user_agent){
  45. exit('Illegal request');
  46. }
  47. if(empty($token)){
  48. exit('No access permission');
  49. }
  50. $sercet_str = md5($check_str);
  51. if($sercet_str != $token){
  52. exit("Request permission is illegal");
  53. }
  54. }
  55. private function _index() {}
  56. private function _jobs() {
  57. $domain = $_SERVER['HTTP_HOST'];
  58. exit($domain."执行");
  59. }
  60. }