我想要REGEX
一个筛选/match QUERY_STRING
when 包含参数,如 theesephp|data|ftp|http|..|/|://
和任何其他可用于远程文件包含的字符。
感谢大家的时间:
PS:我知道这最好用 htaccess 来完成,但我现在需要一个正则表达式。
我想要REGEX
一个筛选/match QUERY_STRING
when 包含参数,如 theesephp|data|ftp|http|..|/|://
和任何其他可用于远程文件包含的字符。
感谢大家的时间:
PS:我知道这最好用 htaccess 来完成,但我现在需要一个正则表达式。
不要,如果那是你的安全,它很可能会崩溃。在包含/要求任何内容之前,将本地文件列入白名单和/或检查是否存在。更好的是:不要让任何人对包含外部变量的文件有任何直接影响。
如果您想防止远程文件包含,您可以简单地禁用流包装器,例如
allow_url_include
- 此选项允许使用具有以下功能的 URL 感知 fopen 包装器:include()、include_once()、require()、require_once()。以及任何其他 URL 感知功能
disable allow_url_fopen
- 此选项启用 URL-aware fopen 包装器,允许访问 URL 对象,如文件如果要检查查询参数是否为 URL,可以使用parse_url
if (parse_url($url) === FALSE) {
或使用filter_*
功能
if (filter_var($url, FILTER_VALIDATE_URL) === FALSE) {