RangeError при реализации JavaScript CSRFGuard с EJS
Конфигурация в бэкенде для csrfguard успешно завершена. Токен генерирует (это модифицированный javascript и он правильный):
/** update nodes in DOM after load **/
addEvent(window,'unload',EventCache.flush);
addEvent(window,'load', function() {
injectTokens("YOU_SHALL_NOT_PASS", "4PYU-9NKP-LL28-V6V2-M33C-7DL7-KI2V-HZWD");
});
} else {
alert("OWASP CSRFGuard JavaScript was included from within an unauthorized domain!");
}
что ожидаемое поведение. Я включил тег в файл EJS внизу, вне объявления формы:
<div class="formLinks defaultLinks" style="clear:both">
<div class="saving">Saving...</div>
<button class="normalButton lightButton floatLeft" id="saveBtn" type="submit">Save</button> <div class="links"><button id="DeleteCustomer" class="textButton" type="button">Delete</button><a href="#" rel="cancel">Cancel</a></div>
</div>
<div class="formLinks verifyLinks jquery-hidden" style="clear:both">
<div class="saving">Deleting...</div>
<button class="normalButton lightButton floatLeft" id="VerifyDelete" type="button">Delete</button> <div class="links"><a href="#" rel="cancelDelete">Cancel</a></div>
</div>
</div>
</form>
<script src="/JavaScriptServlet"></script>
Проблема в том, что я получаю:
RangeError: Превышен максимальный размер стека вызовов - в Chrome версии 57.0.2987.133 и в FF, поэтому я не уверен, является ли это проблемой JavaScript или проблемой браузера. Это не просто добавление поля, как в руководстве OWASP сказано, что "просто надо сделать". Единственная ошибка, которую я получаю - это RangeError. Я в растерянности на данный момент по этому поводу.