2017-01-11 5 views
1

Ich habe # Zeichen in Name, E-Mail-Adresse und Adresse hinzugefügt. Aber wenn ich in hmc oder im Backoffice sehe, wird Hash (#) entfernt. name und emailId existieren ohne Hash. Warum nimmt hybris # keinen Attributwert an?hybris speichert # in keinem Wert

Antwort

1

Die Klasse de.hybris.platform.servicelayer.web.XSSFilter entfernt das Zeichen aus den Eingabefeldern. Sie können es testen, indem Sie den folgenden Wert auf Ihre local.properties hinzu:

xss.filter.enabled=false 

Sobald Sie dies tun, werden Sie in der Lage sein, Daten zu erfassen, ein # Zeichen enthalten. Da Sie XSSFilter jedoch nicht deaktivieren möchten, besteht die einzige Möglichkeit darin, die doFilter-Methode für XSSFilter zu überschreiben und Logik hinzuzufügen, um Daten auszuschließen, die das Zeichen # enthalten.

Auch wenn Sie versuchen, solche Werte an anderen Orten, wie local.properties zu speichern, dann versuchen Sie bitte den Wert wie unten zu speichern, verwenden Sie \\ vor # Symbol:

property.value=hybris\\#value 
+0

Danke für diese Antwort zu geben. Es funktioniert gut. Ich möchte auch den Grund wissen, warum hybris # (Hash) nicht standardmäßig in der Datenbank speichert. –

+0

Warum sagst du, dass XSSFilter das Zeichen # entfernt? Wo hast du das gesehen? XSSFilter verwendet das Muster, das in den Schlüsseln 'xss.filter ...' definiert ist. Ich sehe keinen '# 'Filter in der ootb-Konfiguration. Können Sie eine Referenz angeben, die Ihre Aussage bestätigt? Vielen Dank! –

+0

Hi @ alain.janinm, ich fand eine ähnliche Frage zu Hybris Experts und dachte daran, die Antwort hier zu geben. Ich persönlich habe die Lösung nicht überprüft. https://experts.hybris.com/questions/52907/password-field-not-allowing-special-character.html –