3

管理者の cpanel で次のように設定しています。

  • /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>';
}
?>

そのため、ログに記録せずにこれらのページのいずれかを手動で参照すると、機能し、ログイン ページに戻ります。

Web サイトで監査ツール (Acunetix) を実行しようとしました。

このツールは、最初に認証することなく、index ページと sendemails ページの両方への POST 要求を識別して実行することができました (そのため、実際には意味不明なメールを私のアドレスに送信しました)。

どうすればこれを防ぐことができますか?

前もって感謝します

4

1 に答える 1