PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.1
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.1
4.11.2 4.11.1 4.11.0 4.10.0 4.9.5 4.9.4 4.9.3 4.9.2 4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Framework / Security / EncryptionNoticeService.php
wp-staging / Framework / Security Last commit date
Otp 1 week ago AccessToken.php 1 week ago Auth.php 1 week ago Capabilities.php 1 week ago DataEncryption.php 1 week ago EncryptionNoticeService.php 1 week ago Nonce.php 1 week ago UniqueIdentifier.php 1 week ago
EncryptionNoticeService.php
82 lines
1 <?php
2
3 namespace WPStaging\Framework\Security;
4
5
6
7
8
9
10
11 class EncryptionNoticeService
12 {
13
14 private $dataEncryption;
15
16 public function __construct(DataEncryption $dataEncryption)
17 {
18 $this->dataEncryption = $dataEncryption;
19 }
20
21
22
23
24
25
26
27
28
29 public function renderEncryptedNotice(string $optionName, $credentialKeys, string $label)
30 {
31 if ($this->hasStaleCredential($optionName, $credentialKeys)) {
32 require WPSTG_VIEWS_DIR . '_main/partials/encrypted-notice.php';
33 }
34 }
35
36
37
38
39
40
41
42
43 private function hasStaleCredential(string $optionName, $credentialKeys): bool
44 {
45 $option = get_option($optionName, []);
46 if (empty($option) || !is_array($option)) {
47 return false;
48 }
49
50 foreach ((array)$credentialKeys as $key) {
51 if ($this->isStale($option[$key] ?? '')) {
52 return true;
53 }
54 }
55
56 return false;
57 }
58
59
60
61
62
63
64
65 private function isStale(string $value): bool
66 {
67
68 if (empty($value)) {
69 return false;
70 }
71
72
73 if (!$this->dataEncryption->isEncrypted($value)) {
74 return false;
75 }
76
77
78
79 return $this->dataEncryption->decrypt($value) === $value;
80 }
81 }
82