Skip to content

Commit 89ec034

Browse files
committed
Merge branch 'master' of https://github.com/ashtru/sdk-php
2 parents ff00f01 + 27a28d6 commit 89ec034

2 files changed

Lines changed: 29 additions & 12 deletions

File tree

lib/net/authorize/util/AuthorizedNetSensitiveTagsConfig.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
},
99
{
1010
"tagName": "cardNumber",
11-
"pattern": "(\\d+)(\\d{4})",
11+
"pattern": "(\\p{N}+)(\\p{N}{4})",
1212
"replacement": "xxxx-$2",
1313
"disableMask": false
1414
},
@@ -20,7 +20,7 @@
2020
},
2121
{
2222
"tagName": "accountNumber",
23-
"pattern": "(\\d+)(\\d{4})",
23+
"pattern": "(\\p{N}+)(\\p{N}{4})",
2424
"replacement": "xxxx-$2",
2525
"disableMask": false
2626
},
@@ -38,12 +38,12 @@
3838
}
3939
],
4040
"sensitiveStringRegexes": [
41-
"4\\d{3}([\\ \\-]?)\\d{4}\\1\\d{4}\\1\\d{4}",
42-
"4\\d{3}([\\ \\-]?)(?:\\d{4}\\1){2}\\d(?:\\d{3})?",
43-
"5[1-5]\\d{2}([\\ \\-]?)\\d{4}\\1\\d{4}\\1\\d{4}",
44-
"6(?:011|22(?:1(?=[\\ \\-]?(?:2[6-9]|[3-9]))|[2-8]|9(?=[\\ \\-]?(?:[01]|2[0-5])))|4[4-9]\\d|5\\d\\d)([\\ \\-]?)\\d{4}\\1\\d{4}\\1\\d{4}",
45-
"35(?:2[89]|[3-8]\\d)([\\ \\-]?)\\d{4}\\1\\d{4}\\1\\d{4}",
46-
"3[47]\\d\\d([\\ \\-]?)\\d{6}\\1\\d{5}"
41+
"4\\p{N}{3}([\\ \\-]?)\\p{N}{4}\\1\\p{N}{4}\\1\\p{N}{4}",
42+
"4\\p{N}{3}([\\ \\-]?)(?:\\p{N}{4}\\1){2}\\p{N}(?:\\p{N}{3})?",
43+
"5[1-5]\\p{N}{2}([\\ \\-]?)\\p{N}{4}\\1\\p{N}{4}\\1\\p{N}{4}",
44+
"6(?:011|22(?:1(?=[\\ \\-]?(?:2[6-9]|[3-9]))|[2-8]|9(?=[\\ \\-]?(?:[01]|2[0-5])))|4[4-9]\\p{N}|5\\p{N}\\p{N})([\\ \\-]?)\\p{N}{4}\\1\\p{N}{4}\\1\\p{N}{4}",
45+
"35(?:2[89]|[3-8]\\p{N})([\\ \\-]?)\\p{N}{4}\\1\\p{N}{4}\\1\\p{N}{4}",
46+
"3[47]\\p{N}\\p{N}([\\ \\-]?)\\p{N}{6}\\1\\p{N}{5}"
4747
]
4848
}
4949

lib/net/authorize/util/Log.php

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,19 @@ class Log
3131
{
3232
private $sensitiveXmlTags = NULL;
3333

34+
/**
35+
* Takes a regex pattern (string) as argument and adds the forward slash delimiter.
36+
* Also adds the u flag to enable Unicode mode regex.
37+
*
38+
* @param string $regexPattern
39+
*
40+
* @return string
41+
*/
42+
private function addDelimiterFwdSlash($regexPattern)
43+
{
44+
return '/'.$regexPattern.'/u';
45+
}
46+
3447
/**
3548
* Takes an xml as string and masks the sensitive fields.
3649
*
@@ -50,7 +63,8 @@ private function maskSensitiveXmlString($rawString){
5063
if(trim($sensitiveTag->pattern)) {
5164
$inputPattern = $sensitiveTag->pattern;
5265
}
53-
$pattern = "/<" . $tag . ">(?:.*)". $inputPattern ."(?:.*)<\/" . $tag . ">/";
66+
$pattern = "<" . $tag . ">(?:.*)". $inputPattern ."(?:.*)<\/" . $tag . ">";
67+
$pattern = $this->addDelimiterFwdSlash($pattern);
5468

5569
if(trim($sensitiveTag->replacement)) {
5670
$inputReplacement = $sensitiveTag->replacement;
@@ -76,15 +90,18 @@ private function maskCreditCards($rawString){
7690
$replacements=array();
7791

7892
foreach ($this->sensitiveStringRegexes as $i => $creditCardRegex){
79-
$pattern = "/" . $creditCardRegex . "/";
93+
$pattern = $creditCardRegex;
94+
$pattern = $this->addDelimiterFwdSlash($pattern);
8095

8196
$replacement = "xxxx";
8297
$patterns [$i] = $pattern;
8398
$replacements[$i] = $replacement;
8499
}
85100
$maskedString = preg_replace($patterns, $replacements, $rawString);
86101
return $maskedString;
87-
}/**
102+
}
103+
104+
/**
88105
* Object data masking related functions START
89106
*/
90107

@@ -133,7 +150,7 @@ private function checkPropertyAndMask($prop, $obj){
133150
if(trim($sensitiveField->pattern)) {
134151
$inputPattern = $sensitiveField->pattern;
135152
}
136-
$inputPattern='/'.$inputPattern.'/';
153+
$inputPattern = $this->addDelimiterFwdSlash($inputPattern);
137154

138155
if(trim($sensitiveField->replacement)) {
139156
$inputReplacement = $sensitiveField->replacement;

0 commit comments

Comments
 (0)