PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.0
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.0
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 day ago AccessToken.php 1 day ago Auth.php 1 day ago Capabilities.php 1 day ago DataEncryption.php 1 day ago EncryptionNoticeService.php 1 day ago Nonce.php 1 day ago UniqueIdentifier.php 1 day 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