Skip to content

Commit 8dfb649

Browse files
ENGCOM-6199: Prevent adding form keys to forms with external action URLs #25336
2 parents 2286434 + 930eb5b commit 8dfb649

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

lib/web/mage/common.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,14 @@ define([
2020
var formKeyElement,
2121
existingFormKeyElement,
2222
isKeyPresentInForm,
23+
isActionExternal,
24+
baseUrl = window.BASE_URL,
2325
form = $(e.target),
24-
formKey = $('input[name="form_key"]').val();
26+
formKey = $('input[name="form_key"]').val(),
27+
formMethod = form.prop('method'),
28+
formAction = form.prop('action');
29+
30+
isActionExternal = formAction.indexOf(baseUrl) !== 0;
2531

2632
existingFormKeyElement = form.find('input[name="form_key"]');
2733
isKeyPresentInForm = existingFormKeyElement.length;
@@ -32,7 +38,7 @@ define([
3238
isKeyPresentInForm = form.find('> input[name="form_key"]').length;
3339
}
3440

35-
if (formKey && !isKeyPresentInForm && form[0].method !== 'get') {
41+
if (formKey && !isKeyPresentInForm && !isActionExternal && formMethod !== 'get') {
3642
formKeyElement = document.createElement('input');
3743
formKeyElement.setAttribute('type', 'hidden');
3844
formKeyElement.setAttribute('name', 'form_key');

0 commit comments

Comments
 (0)