PHP:如何使用includes安全地设置页面上的活动链接

时间:2013-05-25 00:24:53

标签: php

在之前的帖子“使用包含的页面上的PHP设置活动链接”中有一条评论“这是太可爱了”。你能解释一下它是如何被黑客攻击的,以及如何用更安全的方法复制这个想法。

$page_id = $_REQUEST['page_id'];

 <ul>
          <li class="<?php echo ($page_id == "Home" ? "active" : "");?>">
 <a href="/">Home</a>
          </li>
          <li class="<?php echo ($page_id == "Apps" ? "active" : "");?>">
 <a href="#">Apps</a>
          </li>
          <li class="<?php echo ($page_id == "Forums" ? "active" : ""); ?>">
 <a href="#">Forums</a>
          </li>
        </ul>

我正在为网站构建我的第一个插件,如果你在家里或统计数据页面上,我需要有php设置为活动的链接。所以安装可以在www.website.com/home/plugin/statistics。我需要能够将类

  • 统计信息设置为活动状态(如果它们在页面上),而不知道我的插件安装了多少层网页。

  • 1 个答案:

    答案 0 :(得分:1)

    更好的方法可能是这样的:

    在页面文件(about.phpindex.php等)中,在页面顶部提供唯一标识符:

    <?php
    $page_id = 'home';
    require_once('_menu.php');
    

    将导航分隔为要包含的文件_menu.php

     <ul>
              <li class="<?php echo ($page_id == "Home" ? "active" : "");?>">
     <a href="/">Home</a>
              </li>
              <li class="<?php echo ($page_id == "Apps" ? "active" : "");?>">
     <a href="#">Apps</a>
              </li>
              <li class="<?php echo ($page_id == "Forums" ? "active" : ""); ?>">
     <a href="#">Forums</a>
              </li>
            </ul>