如何在php中添加url过滤器?

时间:2016-06-25 12:34:52

标签: php server host

最近,我使用Hostgator作为我的php web服务器。

但我可以访问并下载网址中的公共html文件。这是正常的吗?

我可以通过php或其他任何方式控制网址访问权限吗?

只有“abc.com”这个直接可以访问

“abc.com/files”无法直接访问

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

检查变量$ url是否是有效的URL:

<?php
$url = "http://www.hackingworldtips.wordpress.com";

if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
    echo("$url is a valid URL");
} else {
    echo("$url is not a valid URL");
}
?>

定义和用法 FILTER_VALIDATE_URL过滤器验证URL。

可能的标志:

FILTER_FLAG_SCHEME_REQUIRED - 网址必须符合RFC标准(如http://example) FILTER_FLAG_HOST_REQUIRED - 网址必须包含主机名(如http://www.example.com) FILTER_FLAG_PATH_REQUIRED - URL必须在域名后面有一个路径(例如www.example.com/example1/) FILTER_FLAG_QUERY_REQUIRED - URL必须有一个查询字符串(例如“example.php?name = Peter&amp; age = 37”) 以下示例清理并验证网址:

示例1 首先从$ url变量中删除所有非法字符,然后检查它是否是有效的URL:

<?php
$url = "http://www.hackingworldtips.wordpress.com";

// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);

// Validate url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
    echo("$url is a valid URL");
} else {
    echo("$url is not a valid URL");
}
?>

例2 在这里,URL必须具有有效的查询字符串:

<?php
$url = "http://www.hackingworldtips.wordpress.com";

if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) {
    echo("$url is a valid URL");
} else {
    echo("$url is not a valid URL");
}
?>

答案 1 :(得分:0)

在文件夹中添加带有此代码的.htaccess文件(您要防止公共访问的任何文件夹)

  Order Deny,Allow 
  Deny from all