我在我的管理面板上有以下设置:
- /admincpanel/index . php
- /admincpanel/login。
- /admincpanel sendEmailsToAll.php
如果用户没有登录,它会自动返回到login.php,所以他们不能访问index.php和sendEmailsToAll.php没有登录。
在这两页我都做了如下的操作:
require "logincheck.php";
logincheck看起来像这样:
<?php
session_start();
if(!isset($_SESSION['logincheck'])) {
echo '<script language="Javascript">';
echo 'window.location="login.php"';
echo '</script>';
}
?>
因此,如果我手动浏览任何这些页面没有被登录,它的工作,它带我回到登录页面。
我试图在网站上运行审计工具(Acunetix)。
该工具能够识别并执行POST请求索引和发送邮件页面(所以它实际上发送电子邮件到我的地址乱码),而不需要先进行身份验证。
我该如何预防呢?
不要用JAVASCRIPT做重定向!使用
header('Location: login.php');
exit;