m3 Security Fixes

This commit is contained in:
Mark Gregory
2026-09-17 10:24:14 +01:00
parent 74f2387dfe
commit c9856d58c1
20 changed files with 234 additions and 201 deletions
@@ -15,6 +15,10 @@ use Str;
class M3InventoryReport extends Controller
{
private const ZERO_PAD = '000000';
private const JSON_CONTENT_TYPE = 'application/json';
private const NO_M3_RESPONSE = 'Error: No Response from M3';
// M3InventoryReport for Single Part
public function M3InventoryReport(Request $request)
{
@@ -28,7 +32,7 @@ class M3InventoryReport extends Controller
// Set SHSOURCE
$SHSOURCE = 'M3InventoryReport';
$M3Errors = '';
$DELIVERYNO = isset($DELIVERYNO) ? $DELIVERYNO : '000000';
$DELIVERYNO = isset($DELIVERYNO) ? $DELIVERYNO : self::ZERO_PAD;
try {
// Get Json Contents
@@ -49,7 +53,7 @@ class M3InventoryReport extends Controller
} else {
$SHDATA = isset($tokenData->message) ? $tokenData->message : '';
// Write to Logs : Error
$data = ['SHMACPKR' => '000000', 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => '', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out',
$data = ['SHMACPKR' => self::ZERO_PAD, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => '', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => $SHDATA, 'SHUSER' => $SHUSER, 'SHSOURCE' => $SHSOURCE, 'SHCO' => '', 'SHWHS' => $WHS];
Helper::logToICM699M($data);
@@ -66,8 +70,8 @@ class M3InventoryReport extends Controller
];
$response = Http::withHeaders([
'accept' => 'application/json',
'Content-Type' => 'application/json',
'accept' => self::JSON_CONTENT_TYPE,
'Content-Type' => self::JSON_CONTENT_TYPE,
])
->withToken($token)
->timeout(Config::get('arrays.curlTimeOut'))
@@ -82,7 +86,7 @@ class M3InventoryReport extends Controller
$responseJSON = $response->getBody()->getContents();
$JsonSanytized = Helper::sanityzeString($responseJSON);
} else {
$M3Errors = 'Error: No Response from M3';
$M3Errors = self::NO_M3_RESPONSE;
}
if ($M3Errors != '') {
@@ -162,7 +166,7 @@ class M3InventoryReport extends Controller
$REQKPKUS = isset($urlParams['REQKPKUS']) ? $urlParams['REQKPKUS'] : 'WebUser';
$CO = isset($urlParams['CO']) ? $urlParams['CO'] : '';
$WHS = isset($urlParams['WHS']) ? $urlParams['WHS'] : '';
$MACPKR = isset($urlParams['MACPKR']) ? $urlParams['MACPKR'] : '000000'; // Delivery Number
$MACPKR = isset($urlParams['MACPKR']) ? $urlParams['MACPKR'] : self::ZERO_PAD; // Delivery Number
$PKLN = isset($urlParams['PKLN']) ? $urlParams['PKLN'] : '';
if ($urlParams != '') {
@@ -228,11 +232,11 @@ class M3InventoryReport extends Controller
$token = $IonToken;
$response = Http::withHeaders([
'accept' => 'application/json',
'Content-Type' => 'application/json',
'accept' => self::JSON_CONTENT_TYPE,
'Content-Type' => self::JSON_CONTENT_TYPE,
])
->withToken($token)
->withBody($JSON, 'application/json')
->withBody($JSON, self::JSON_CONTENT_TYPE)
->timeout(Config::get('arrays.curlTimeOut'))
->post($endPointURL);
@@ -248,7 +252,7 @@ class M3InventoryReport extends Controller
$responseArray = json_decode($JsonSanytized, true);
$responseTMP = $responseArray['result'];
} else {
$M3Errors = 'Error: No Response from M3';
$M3Errors = self::NO_M3_RESPONSE;
}
// Validate response From M3
@@ -262,7 +266,7 @@ class M3InventoryReport extends Controller
return response()->json([
'code' => '405',
'status' => 'error',
'message' => 'Error: No Response from M3',
'message' => self::NO_M3_RESPONSE,
]);
} else {
// Write to Logs : JSON
@@ -366,7 +370,7 @@ class M3InventoryReport extends Controller
]);
} else {
// Write to Logs Out : Error
$MACPKR = isset($MACPKR) ? $MACPKR : '000000';
$MACPKR = isset($MACPKR) ? $MACPKR : self::ZERO_PAD;
$data = ['SHMACPKR' => $MACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => 'No Records Found in ICM688M2', 'SHUSER' => $REQKPKUS, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $CO, 'SHWHS' => $WHS];
Helper::logToICM699M($data);
@@ -381,7 +385,7 @@ class M3InventoryReport extends Controller
} else {
// Write to Logs Out : Error
$MACPKR = isset($MACPKR) ? $MACPKR : '000000';
$MACPKR = isset($MACPKR) ? $MACPKR : self::ZERO_PAD;
$data = ['SHMACPKR' => $MACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => 'No URL Parameters Sent', 'SHUSER' => $REQKPKUS, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $CO, 'SHWHS' => $WHS];
Helper::logToICM699M($data);
@@ -395,7 +399,7 @@ class M3InventoryReport extends Controller
}
} catch (\Throwable $th) {
// Write to Logs Out : Error
$MACPKR = isset($MACPKR) ? $MACPKR : '000000';
$MACPKR = isset($MACPKR) ? $MACPKR : self::ZERO_PAD;
$getCurlErrors = str_contains($th->getMessage(), 'cURL error');
if ($getCurlErrors) {
// dd($getCurlErrors);