3

我的管理面板上有以下设置:

  • /admincpanel/index.php
  • /admincpanel/login.php
  • /admincpanel/sendEmailsToAll.php

如果用户没有登录,它会自动返回 login.php。所以他们不能访问 index.php 和 sendEmailsToAll.php 而不被记录。

在这两个页面上,我执行以下操作:

    require "logincheck.php";

登录检查如下所示:

<?php
session_start();
if(!isset($_SESSION['logincheck'])) {
    echo '<script language="Javascript">';
    echo 'window.location="login.php"';
    echo '</script>';
}
?>

因此,如果我在没有登录的情况下手动浏览到这些页面中的任何一个,它就会起作用,它会让我回到登录页面。

我尝试在网站上运行审核工具(Acunetix)。

该工具能够识别索引和发送电子邮件页面并执行 POST 请求(因此它实际上是用乱码向我的地址发送了电子邮件),而无需先进行身份验证。

我怎么能防止这种情况?

提前致谢

4

1 回答 1

17

不要使用 JAVASCRIPT 进行重定向!利用

header('Location: login.php'); 
exit;
于 2013-06-12T15:41:10.197 回答