嗨,我会尽力解释这个问题。我正在使用php主页结构通过include函数链接内容,如
<?php
$page=$_GET['page'];
include($page);
?>
我正在使用数据库来显示博客并为每个帖子添加了一个ID,以允许用户导航到实际的博客帖子,而不是在列表中查看。我遇到的问题是链接有效,但当我将主页面结构添加到链接时,它无法找到ID。例如,
作品
<a href="blog2.php?id=<?php echo $post['post_id']; ?>">
但
不起作用
<a href="../anonymous/anonymous.master.php?page=blog2.php?id=<?php echo $post['post_id']; ?>">
显然,第一个链接只显示blog2.php数据,而不是主页数据。我猜这是我构建链接的方式,任何帮助将不胜感激。如果有任何其他问题,或者我不解释自己,请询问。
答案 0 :(得分:1)
有几件事。首先,要解决您的问题,在第二种情况下,&
和?
参数之间需要page
而不是id
。所以看起来应该是这样的:
<a href="../anonymous/anonymous.master.php?page=blog2.php&id=<?php echo $post['post_id']; ?>">
其次,你真的需要清理你的输入。
在这种情况下:
<?php
$page=$_GET['page'];
include($page);
?>
如果您的服务器配置不正确,我可以轻松传递page
的网址,让您的服务器从其他网站执行任意代码,从而危及整个系统。
对于URL的情况,您直接将变量回显到页面,让您自己开放以进行跨站点脚本(XSS)攻击。