Advertisement
Guest User

Untitled

a guest
Mar 4th, 2020
421
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.30 KB | None | 0 0
  1. <?php
  2. /**
  3. *
  4. * @ This file is created by http://DeZender.Net
  5. * @ deZender (PHP7 Decoder for ionCube Encoder)
  6. *
  7. * @ Version : 4.0.9.0
  8. * @ Author : DeZender
  9. * @ Release on : 08.08.2019
  10. * @ Official site : http://DeZender.Net
  11. *
  12. */
  13.  
  14. namespace Mofsy\License\Client;
  15.  
  16. class Protect
  17. {
  18. public $status = false;
  19. public $errors = false;
  20. public $activation_key = '';
  21. public $activation_key_expires;
  22. /**
  23. * Секретный локальный ключ
  24. *
  25. * @var string
  26. */
  27. public $secret_key = '784dyaretqw777';
  28. /**
  29. * Полный адрес сервера, для проверки лицензии и выпуска новой.
  30. *
  31. * @var string
  32. */
  33. public $server = '';
  34. /**
  35. * Удаленный порт сервера лицензий
  36. *
  37. * @var integer
  38. */
  39. public $remote_port = 80;
  40. /**
  41. * Период ожидания ответа от сервера лицензий
  42. *
  43. * @var integer
  44. */
  45. public $remote_timeout = 20;
  46. /**
  47. * User-agent клиента, который
  48. * посылается вместе с запросом на сервер лицензий
  49. *
  50. * @var string
  51. */
  52. public $local_ua = 'PHP code protect';
  53. /**
  54. * Маркер использования на локальной системе с Windows без активации
  55. *
  56. * @var boolean
  57. */
  58. public $use_localhost = true;
  59. /**
  60. * Разрешить использовать текущую версию скрипта после истечении срока лицензии
  61. *
  62. * NOTE: Если истина, то лицензия будет продолжать работать, даже после истечения срока действия ключа активации.
  63. * Лицензия будет работать, только на старых релизах скрипта, на новой версии активация уже будет не действительна.
  64. *
  65. * @var boolean
  66. */
  67. public $use_expires = true;
  68. /**
  69. * Маркер режима хранения ключа
  70. *
  71. * filesystem - хранить в файле
  72. * TODO: добавить хранение ключа в базе данных и т.д.
  73. *
  74. * @var string
  75. */
  76. public $local_key_storage = 'filesystem';
  77. /**
  78. * Полный путь до локального файла с временной лицензией
  79. *
  80. * @var string
  81. */
  82. public $local_key_path = './';
  83. /**
  84. * Название файла с временной лицензией
  85. *
  86. * @var string
  87. */
  88. public $local_key_name = 'license.lic';
  89. /**
  90. * Сортировка методов запроса к серверу лицензий.
  91. *
  92. * Доступны:
  93. * s - на сокетах
  94. * c - на cURL
  95. * f - на file_get_contents
  96. *
  97. * @var string
  98. */
  99. public $local_key_transport_order = 'scf';
  100. /**
  101. * Период после истечения времени действия локального ключа, после которого лицензия дополнительно дейтвует по
  102. * времени.
  103. *
  104. * @var integer
  105. */
  106. public $local_key_delay_period = 7;
  107. /**
  108. * Новый локальный ключ
  109. *
  110. * @var integer
  111. */
  112. public $local_key_last;
  113. /**
  114. * Дата релиза скрипта в формате ISO 8601 (YYYY-MM-DD)
  115. *
  116. * @var string
  117. */
  118. public $release_date = '2019-03-01';
  119. /**
  120. * Имя (логин, например на сайте автора) на кого выдана лицензия
  121. *
  122. * @var string
  123. */
  124. public $user_name = '';
  125. /**
  126. * Локализация статусов лицензии и других сообщений
  127. *
  128. * @var array
  129. */
  130. public $status_messages = ['status_1' => 'This activation key is active.', 'status_2' => 'Error: This activation key has expired.', 'status_3' => 'Activation key republished. Awaiting reactivation.', 'status_4' => 'Error: This activation key has been suspended.', 'localhost' => 'This activation key is active (localhost).', 'pending' => 'Error: This activation key is pending review.', 'download_access_expired' => 'Error: This version of the software was released after your download access expired. Please downgrade software or contact support for more information.', 'missing_activation_key' => 'Error: The activation key variable is empty.', 'could_not_obtain_local_key' => 'Error: I could not obtain a new local key.', 'maximum_delay_period_expired' => 'Error: The maximum local key delay period has expired.', 'local_key_tampering' => 'Error: The local key has been tampered with or is invalid.', 'local_key_invalid_for_location' => 'Error: The local key is invalid for this location.', 'missing_license_file' => 'Error: Please create the following file (and directories if they dont exist already): ', 'license_file_not_writable' => 'Error: Please make the following path writable: ', 'invalid_local_key_storage' => 'Error: I could not determine the local key storage on clear.', 'could_not_save_local_key' => 'Error: I could not save the local key.', 'activation_key_string_mismatch' => 'Error: The local key is invalid for this activation key.'];
  131. /**
  132. * Маркер не удачного получения нового локального ключа с сервера
  133. */
  134. private $trigger_delay_period;
  135.  
  136. /**
  137. * Конструктор класса
  138. */
  139. public function __construct()
  140. {
  141. }
  142.  
  143. /**
  144. * Валидация
  145. *
  146. * @return string
  147. */
  148. public function validate()
  149. {
  150. if ($this->use_localhost && $this->getIpLocal() && $this->isWindows() && !file_exists($this->local_key_path . $this->local_key_name)) {
  151. $this->status = true;
  152. return $this->errors = $this->status_messages['localhost'];
  153. }
  154.  
  155. if (!$this->activation_key) {
  156. return $this->errors = $this->status_messages['missing_activation_key'];
  157. }
  158.  
  159. switch ($this->local_key_storage) {
  160. case 'filesystem':
  161. $local_key = $this->readLocalKey();
  162. .........................................................................
  163. ...............................................
  164. ...............
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement