加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP获取函数不抓取参数

发布时间:2020-12-13 22:47:31 所属栏目:PHP教程 来源:网络整理
导读:所以……我有以下代码非常简单: ?php echo $_GET["base_grant_url"] ? 目前,这仅用于测试.我遇到问题…当以下网址测试时: http://localhost/?base_grant_url=htt%3A%2F%2Fn00.test.comhttp://localhost/?base_grant_url=http%3A%2F%2Fn00 参数打印正确.注
所以……我有以下代码非常简单:

<?php echo $_GET["base_grant_url"] ?>

目前,这仅用于测试.我遇到问题…当以下网址测试时:

http://localhost/?base_grant_url=htt%3A%2F%2Fn00.test.com
http://localhost/?base_grant_url=http%3A%2F%2Fn00

参数打印正确.注意第一个中缺少“p”而没有“.”第二个参数中的字符.当传递以下2个URL时:

http://localhost/?base_grant_url=http%3A%2F%2Fn00.test.com
http://localhost/?base_grant_url=http%3A%2F%2Fn00.

这两个地址都没有打印回来……我花了很长时间才把我的问题缩小到这个范围,因为这只是一个较大场景的一小部分,但这正是我目前正在努力纠正的问题.为什么我不能在参数不正确时获取参数但是当他们有HTTP和“.”时.其中的字符…… $_GET函数失败了吗?是否有一些我缺少的常见约定或一些简单的解决方案?

编辑:所以在本地测试服务器上测试后,它工作正常.我将联系我的托管服务提供商以尝试找到问题.

至于print_r的输出……这里是代码和输出:

码:

echo "Base Grant URL = ";
echo $_GET["base_grant_url"];
echo " -=- GET = ";
print_r($_GET);

测试1(参数中没有“.”如果http不在参数中,这也适用):

URL: http://testserver.com/?base_grant_url=https%3A%2F%2Fexamplecom%2Fsplash%2Flogin%2F%3Fmauth%3DABCDEFG123456
OUTPUT: Base Grant URL = https://examplecom/splash/login/?mauth=ABCDEFG123456 -=- GET = Array ( [base_grant_url] => https://examplecom/splash/login/?mauth=ABCDEFG123456 )

测试2(使用正确的URL):

URL: http://testserver.com/?base_grant_url=https%3A%2F%2Fexample.com%2Fsplash%2Flogin%2F%3Fmauth%3DABCDEFG123456
OUTPUT: Base Grant URL = -=- GET = Array ( )

解决方法

我有同样的问题,我的网站托管公司在服务器上启用了一些mod安全规则,以防止他们所谓的“通用PHP代码注入”.不确定我是否同意存在风险,但他们禁用了它并且我的脚本开始工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读