【发布时间】:2020-04-29 00:07:07
【问题描述】:
我需要在将数据输入数据库之前使用 xslt 修改敏感数据
例如——
如果帐号是 12345678,那么它应该作为 ****5678 进入数据库。我必须在 xslt 中进行此更改。
因为我是 xslt 的新手,所以我无法破解这个。
你能帮我解决这个问题吗??
【问题讨论】:
-
如果您提供了minimal reproducible example 的尝试,您将获得更多直接的帮助。
我需要在将数据输入数据库之前使用 xslt 修改敏感数据
例如——
如果帐号是 12345678,那么它应该作为 ****5678 进入数据库。我必须在 xslt 中进行此更改。
因为我是 xslt 的新手,所以我无法破解这个。
你能帮我解决这个问题吗??
【问题讨论】:
尝试类似:
<xsl:text>****</xsl:text>
<xsl:value-of select="substring(accountnumber, string-length(accountnumber) - 3)" />
没有提供上下文,因此您需要自己进行必要的调整。
但是如果我的帐号不是固定值怎么办。例如 - 如果帐号是 123456,那么它应该是 **3456
我不愿意向潜在的攻击者提供有关被屏蔽部分长度的信息。但如果你愿意冒险,你可以使用:
<xsl:variable name="len" select="string-length(accountnumber)" />
<xsl:value-of select="translate(substring(accountnumber, 1, $len - 4), '0123456789', '**********')" />
<xsl:value-of select="substring(accountnumber, $len - 3)" />
【讨论】: