PHP包含链接在获取编辑ID时不起作用

时间:2019-01-13 18:15:54

标签: php mysql url include crud

第一次在这里发布,但是需要帮助,因为我是PHP的新手,我已经搜索了但找不到类似的问题。

我的索引文件包含以下php:

include($_GET['underside']);

在其他页面之一(opret.php)上,我创建了一个CRUD,并且一切正常。但是,当我尝试从给定ID中获取数据时,将其输入到输入中,则该链接将无法与include一起使用。

链接如下:

<a href="opret.php?rediger=<?php echo $row['TilbudId']; ?>" class="btn btn-info">Rediger</a>

最终在浏览器中是这样的:

http://localhost:8080/StampIT/index.php?underside=opret.php?rediger=7

我知道这似乎有点遥不可及,但是我不知道是否有解决办法。我收到这些错误:

  

警告:include(opret.php?rediger = 7):无法打开流:第56行的D:\ wamp64 \ www \ StampIT \ index.php中没有此类文件或目录

  

警告:include():未能在D:\ wamp64 \ www \ StampIT \ index.php上打开'opret.php?rediger = 7'以包含(include_path ='.; C:\ php \ pear')。第56行

如果我只是忘记了include并为所有内容创建单独的页面,那么我可以使它工作,但是我真的很想避免这种情况。

我希望有人可以提供帮助,这在一定程度上是可以理解的。谢谢!

1 个答案:

答案 0 :(得分:1)

http://localhost:8080/StampIT/index.php?underside=opret.php?rediger=7

您必须用&符号分隔GET参数。必须是

http://localhost:8080/StampIT/index.php?underside=opret.php&rediger=7

此外:包含看起来像一个潜在的文件包含漏洞。攻击者可以操纵该参数,并包含不应由您的站点处理的文件(甚至可能是远程脚本)。例如index.php?underside = / etc / passwd