检查网址是否包含' name.php''

时间:2017-09-09 15:13:20

标签: php

  

编辑:我注意到当我从fnc/nameload.php加载内容时,REQUEST_URI会返回fnc/nameload.php,因为这是加载信息的地方,即使我在name.php {1}}。

我已经读过一个关于此的问题,但它没有回答我的问题,所以我会自己问一下。

我在JQuery / Ajax中构建了一个函数,它将functions/nameload.php中的特定信息加载到名为name.php的文件中 现在我想通过直接访问拒绝访问function / nameload.php。

我试过

if (strpos($_SERVER['REQUEST_URI'], "name.php")){
//works
} else {
die("Access denied");
}

这不起作用,我假设是因为' .php'在名字中。

因为' nameload'包含“' name'

这个词
if (strpos($_SERVER['REQUEST_URI'], "name")){ //works }else{ die("Access 
Denied");

它并不否认访问权限。 是否有检查此功能的功能?

2 个答案:

答案 0 :(得分:0)

PHP有一个方便的功能来返回您网址的不同组成部分:parse_url

所以你可以这样做:

$url = $_SERVER['REQUEST_URI'];

// Doing a var_dump on the $url will return an array of values
var_dump(parse_url($url));

答案 1 :(得分:0)

preg_match(" /name.php /" ;, url,$ match)

strpos($ _ SERVER [' REQUEST_URI']," name.php")!== false,将有效