![](/img/trans.png)
[英]403 Forbidden on PHP page called with url encoded in a $_GET parameter
[英]PHP: Get parameter from encoded url
我有这个网址:
/?goto=%2Fr%2Faccount%2Findex%2Ecfm%3Fsite_id%3D87211
如何从该网址GET
site_id?
这样检查
<?php
$abc ="/?goto=%2Fr%2Faccount%2Findex%2Ecfm%3Fsite_id%3D87211";
$test = parse_url($abc);
$test = urldecode($test["query"]);
$url = parse_url($test);
parse_str($url['query'], $param);
print_r($param["site_id"]);
?>
在此处检查您的输出: https : //eval.in/621360
尝试在URL函数中使用rawurldecode
如果您知道自己的网址将始终处于此结构中,则可以使用RegEx解析它,如下所示:
$url = '/?goto=%2Fr%2Faccount%2Findex%2Ecfm%3Fsite_id%3D87211';
preg_match('/site_id\%3D(\d+)/', $url, $matches);
$siteId = $matches[1];
它正在搜索与site_id%3D
及其site_id%3D
的数值匹配的任何内容。
通过使用$ _GET ['goto'],您将获得以下网址:
/r/account/index.cfm?site_id=87211
尝试这个
$uri = $_GET['goto'];
$site = explode("=", $uri);
echo $site[1];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.