清理用户提供的file_get_contents的URL

时间:2010-06-02 11:03:00

标签: php proxy file-get-contents

我想使用file_get_contents来实现代理,这样我就可以进行跨域AJAX请求。

查询字符串将用于提供file_get_contents的URL。现在问题是人们可以使用查询字符串来读取服务器上的本地文件。我不想要这个。有人可以给我一个功能来清理查询字符串,以便只接受URL而不是本地文件,即:

  • ?url=http://google.com.au - 确定

  • ?url=./passwords.txt - 不行

1 个答案:

答案 0 :(得分:2)

$url = filter_var($_GET['url'], FILTER_SANITIZE_URL);

if($_GET['url'] === filter_var($_GET['url'], FILTER_VALIDATE_URL)) {
    ... your stuff here ...
}