1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
<?php /** * @package Freemius * @copyright Copyright (c) 2015, Freemius, Inc. * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 * @since 1.0.3 */
if ( ! defined( 'ABSPATH' ) ) { exit; }
define( 'WP_FS__SECURITY_PARAMS_PREFIX', 's_' );
/** * Class FS_Security */ class FS_Security { /** * @var FS_Security * @since 1.0.3 */ private static $_instance; /** * @var FS_Logger * @since 1.0.3 */ private static $_logger;
/** * @return \FS_Security */ public static function instance() { if ( ! isset( self::$_instance ) ) { self::$_instance = new FS_Security(); self::$_logger = FS_Logger::get_logger( WP_FS__SLUG, WP_FS__DEBUG_SDK, WP_FS__ECHO_DEBUG_SDK ); }
return self::$_instance; }
private function __construct() { }
/** * @param \FS_Scope_Entity $entity * @param int $timestamp * @param string $action * * @return string */ function get_secure_token( FS_Scope_Entity $entity, $timestamp, $action = '' ) { return md5( $timestamp . $entity->id . $entity->secret_key . $entity->public_key . $action ); }
/** * @param \FS_Scope_Entity $entity * @param int|bool $timestamp * @param string $action * * @return array */ function get_context_params( FS_Scope_Entity $entity, $timestamp = false, $action = '' ) { if ( false === $timestamp ) { $timestamp = time(); }
return array( 's_ctx_type' => $entity->get_type(), 's_ctx_id' => $entity->id, 's_ctx_ts' => $timestamp, 's_ctx_secure' => $this->get_secure_token( $entity, $timestamp, $action ), ); } }
|