URL中存在非法字符


Illegal chars in URL

用户可以将文件上传到我的网站。

我已经检查了堆栈溢出,并查看了关于非法URL字符的各种讨论。

当用户上传文件时,我希望删除任何非法字符,一些网站建议使用FILTER_SANITIZE_URL,而另一些网站则建议使用正则表达式。

我的问题是,实现这一目标的最佳方式是什么?

PHP内置了FILTER_SANITIZE_URL。通常,最好使用内置函数(如果可用),而不是自己重新实现它们。

如果在保存文件名之前对其运行此函数,那么在URL中显示它们应该不会有问题。

例如$filename = filter_var($_FILES['name'], FILTER_SANITIZE_URL);