Я добавил # символ на имя, адрес электронной почты и адрес. Но когда я вижу в hmc или backoffice, hash (#) удаляется. имя и emailId существуют без хэша. Почему гибрид не принимает символ # в любом значении атрибута?hybris не хранит # в любом значении
1
A
ответ
1
Класс de.hybris.platform.servicelayer.web.XSSFilter переносит символ #
из полей ввода. Вы можете проверить это, добавив следующее значение для ваших local.properties:
xss.filter.enabled=false
После того, как вы сделаете это, вы будете в состоянии захватить данные, содержащие #
характер. Но поскольку вы не хотите отключать XSSFilter, так что единственный способ обойти это - переопределить метод doFilter на XSSFilter и добавить некоторую логику, чтобы исключить данные, которые будут содержать символ #
.
Кроме того, если вы пытаетесь сохранить эти ценности в других местах, как local.properties, то, пожалуйста, попробуйте хранить значение, как показано ниже, используйте \\
перед тем #
символа:
property.value=hybris\\#value
Спасибо за предоставленный мне ответ. Он работает нормально. Я также хочу знать, почему гибрид не хранит # (хеш) в базе данных bydefault. –
Почему вы говорите, что XSSFilter удаляет # char? Где вы это видели? XSSFilter использует шаблон, определенный в ключах 'xss.filter ...', я не вижу никакого фильтра '#' в конфигурации ootb. Можете ли вы предоставить ссылку, подтверждающую ваше заявление? Благодаря! –
Hi @ alain.janinm, я нашел аналогичный вопрос в Hybris Experts и подумал о предоставлении ответа здесь. Я лично не проверял решение. https://experts.hybris.com/questions/52907/password-field-not-allowing-special-character.html –