我希望能够将用户输入限制为有效字符白名单,但我不想阻止来自其他文化的人注册。
到目前为止,我有这个:
^[a-zA-Z0-9èéêëàáâãäçìíîïòóôõöùúûü-_]*$
它允许大多数法语口音,但拉丁字符集中的口音列表非常多!我更愿意使用白名单而不是黑名单,以防我错过一些东西。
Note,这适用于 C#,但我想使用正则表达式进行客户端验证,以便双方保持一致。当我将输入保存到数据库时,我也会对输入进行 HTML 编码。
是否有更优雅的方法使正则表达式重音不敏感,但仍然具有足够的限制以防止 XSS?我不想疏远我的用户。
我希望能够有一些标点符号,但不让自己受到 XSS 攻击,例如,我希望有人输入他们的公司名称:如果有人在 Yahoo! 工作,他们应该能够注册。
也许您可以使用像 [\u00C0-\u017E] 这样的 unicode 范围来覆盖所有重音基础(但您应该检查字符映射表以确保,因为我不知道意大利语有哪些重音)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)