Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用parse_URL从URL读取值安全吗?_Php_Url_Parse Url - Fatal编程技术网

Php 使用parse_URL从URL读取值安全吗?

Php 使用parse_URL从URL读取值安全吗?,php,url,parse-url,Php,Url,Parse Url,由于某些原因,我无法获得$\u get变量来执行任何操作,因此我使用了一种变通方法,即在URL末尾使用?字符串修改URL,并使用parse\u URL函数将其读入我的代码,现在我想问这是否是一种愚蠢的修复方法,以及我是否应该这样做 我如何做到这一点的例子 $url = "http://website.com/page?value"; $token = parse_url($url, PHP_URL_QUERY); 因此,最后我只得到$token中的值,您需要像这样更改u

由于某些原因,我无法获得
$\u get
变量来执行任何操作,因此我使用了一种变通方法,即在URL末尾使用
字符串修改URL,并使用parse\u URL函数将其读入我的代码,现在我想问这是否是一种愚蠢的修复方法,以及我是否应该这样做

我如何做到这一点的例子

$url = "http://website.com/page?value";

$token = parse_url($url, PHP_URL_QUERY);


因此,最后我只得到$token中的值,您需要像这样更改url:

然后使用以下格式获取值:

echo "page value" . $_GET['page'];
如果要传递多个变量:


我希望这个答案会对你有所帮助。

那个查询字符串看起来不完整。最后应该是
value=1
或类似的内容。您是否使用
.htaccess
作为
页面
路径?如果转到
http://website.com/page?value=1
(根据@ADyson的建议)和
打印($\u-GET)在您的页面上?“我无法让$\u get变量执行任何操作”-您希望$\u get-variable“执行什么操作”?我们无法回答此问题,因为我们看不到您之后对数据执行的操作。但是$\u GET无论如何都应该工作,正如您所描述的,并且比在parse\u url返回的数组中查找参数更有效。(这并不比您所展示的安全性高或低。这是您之后对其所做的操作可能会对安全性产生影响。)您是否可以获取
$\u获取
变量而不必将
作为起始准则?我不知道。@Patrick不,你不能,至少如果没有额外的重写/路由的话<代码>http://website.com/?page=5
http://website.com/?page=5&id=1
分别是将查询字符串数据传递到此处的根索引文件的正确URL。请尝试使用post方法代替get方法。从你的角度看是否可能?
echo "page value" .  $_GET['page'] .''.$_GET['id'] ;