我的管理面板上有以下设置:
- /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 请求(因此它实际上发送了带有乱码的电子邮件到我的地址)而无需先进行身份验证。
我怎样才能避免这种情况?
提前致谢
最佳答案
不要使用 JAVASCRIPT 进行重定向!使用
header('Location: login.php');
exit;
关于php - 我的管理控制面板是可破解的,我不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17069686/