我有一个 HTML 文本输入,用户可以在其中为自己写一个名字。该名称只是一个用户友好的显示名称,它不用于识别数据库中的用户或后端的任何内容。
我想允许 utf-8 字符,这样人们就可以输入他们母语的字符,无论是中文还是瑞典语等等。
但是,我想将某些字符(如 <、>、[、]、?、* 等)列入黑名单,以阻止任何潜在的脚本小子试图利用输入进行 SQL 注入或其他操作。
我认为这将是一个简单的代码,在网络上会有很多示例,但是答案,如果它在那里,隐藏在如何使用白名单来验证电子邮件地址的示例中(只有英文字母数字字符,没有亚洲或其他语言特定字符),或者,奇怪的是,如何完全停止某些字符的按键。
我不想完全停止按键,因为我认为这可能会使用户感到困惑。相反,我会输出一个错误,说如果他们输入了一个列入黑名单的字符,他们就不能使用字符 X。
那么,对于像我这样完全不擅长正则表达式的人来说,有没有一种直接的方法可以将 Javascript 中的字符列入黑名单?
如果它不会抑制用户从他们使用的任何语言中输入时髦字符的能力,我也会选择白名单解决方案。