访问禁止错误

Posted

技术标签:

【中文标题】访问禁止错误【英文标题】:Access Forbidden Error 【发布时间】:2018-01-17 10:47:00 【问题描述】:

我正在尝试使用 php 创建分页,尝试每页显示 5 条记录。一切正常,但是当我单击分页链接转到下一页时,它会显示一条错误消息。

禁止访问!

您无权访问请求的对象。它是 服务器读保护或不可读。

如果您认为这是服务器错误,请联系网站管理员。

错误 403

localhost Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30

这是我的代码。

<?php
        define("SPP", 5);
    if(isset($_GET['groupname']) && isset($_GET['uniname'])) 
        /* VARS */
        $xpage = 0;
        $content = null;
        $totalProfile;
        $totalPage = 0;
        if(isset($_GET['xpage']))  $xpage = $_GET['xpage'];    
        $start = $xpage*SPP;
        $end = $start+SPP;
        include("protected/config.php");
        include("protected/class.db.php");
        include("protected/publicLang.php");

        $newSearch = new DB();
        $newSearch->query("SELECT username, university,bgroup, (SELECT COUNT(id) FROM donors) AS totalProfile FROM donors WHERE bgroup = :bgroup LIMIT " . $start . ", " . $end . " ");
        $newSearch->exec(array(
            ":bgroup" => $_GET['groupname']
        ));
        $data = $newSearch->fetch();
        foreach($data as $row) 

            $totalProfile = $row['totalProfile'];
        $content .= '
                <tr>
                <td>' . $row['username'] . '</td>
                <td>'.$row['university'].'</td>
                <td>' . convertBloodIdPublic($row['bgroup']) . '</td>
                <td><button class="btn btn-success">Contact</button></td>
                </tr>   ';
        
        $totalPage = round($totalProfile/SPP); 
?>
<div class="container records">
<table>
  <tr>
    <th>--</th>
    <th>--</th>
    <th>--</th>
    <th>--</th>
  </tr>
  <?php echo $content ?>
</table>
<ul class="pagination">
<?php
    for($i=1; $i<=$totalPage; $i++) 
        echo '<li><a href="<?php echo ' . $_SERVER['REQUEST_URI'] . '"&xpage"' . $i . ' ?>">' . $i . '</a></li>';
?>
</ul>

【问题讨论】:

您应该能够通过查看您的来源非常清楚地看到您创建链接 URL 的方式是错误的 【参考方案1】:

403 表示您不再被授权。您可能需要传递一些身份验证信息,这通常是通过 POSTING 到 URL 来完成,而不是像现在通过一个裸的 hyperlink/ 元素进行的 GET 一样。

我想如果您将代码更改为

<a href="javascript:submit_pagination($i);" >

并在包含的表单中添加一个 HIDDEN 输入元素,并沿线添加一些 javascript

function submit_pagination(i)
    document.forms[0].xpage.value = i;
    document.forms[0].submit();

我认为它可能会起作用。希望对您有所帮助!

【讨论】:

以上是关于访问禁止错误的主要内容,如果未能解决你的问题,请参考以下文章

装完iis后提示403禁止访问是怎么回事

IIS配置PHP环境:测试PHP时出现=》HTTP 错误 403.1 禁止访问:禁止执行访问

访问禁止错误

XAMPP 访问禁止错误

访问禁止错误 403

列出caldav目录时访问禁止错误