在过去,当我是一名 Web 开发人员(使用 PHP)时,我曾经在开始任何处理之前通过正则表达式运行所有提交的表单数据。在大多数情况下,我会允许使用字母数字和一小部分标点字符,这将在 99% 的时间内满足 99% 的人,同时提供对 SQL 注入和跨站点脚本的防御(是的,我也使用了 PDO 准备语句)。
最近,我不得不在国际化的环境中处理输入,具体来说,输入可以是多种不同的西欧和东欧语言以及阿拉伯语。在这些情况下,我采取了删除潜在危险字符并让其他所有内容进入的方法。该应用程序的用户数量非常少(少于 10 个),并且仅部署在其内部网络上,因此我并不太担心安全性系统,但我不愿意在可公开访问的网站上采用这种方法。
总之,我希望对输入进行过滤,以便剩下的是“纯文本”,但我不确定如何在国际化上下文中定义纯文本的概念。有没有解决这个问题的 PHP 库?