Как мне убедить мой брандмауэр, что мой запрос не является SQL инъекционной атакой? - PullRequest
0 голосов
/ 01 февраля 2020

Я построил одно приложение в ядре php, которое размещено на сервере IIS и windows 8 P C. WAF безопасность добавлена ​​в это приложение.

Когда я отправляю страницу / форму с такими деталями, как «Lorem Ipsum - это не просто случайный текст», WAF блокирует этот запрос перед выполнением кода на стороне сервера. Я использую PDO, используя параметризованные запросы, а также токен CRF. Еще запрос заблокирован. Похоже, что он блокирует запрос, где есть такие слова, как «не», «и», или «et c sql». Я создал ниже тестовую страницу.

<? 
    $FAILED=false;
    $MSG='';

    if(isset($_POST['add_review']))
    {

        $FAILED=false;
        $MSG='Data submitted';
        echo $MSG; exit;
    }
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Test Page</title>
    </head>
    <body>
        <form id="frm-add-review" action="<?=$_SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data">
            <input type="hidden" name="review_id" value="<?=@intval($_GET['id'])?>">
            <input type="hidden" name="csrf_token" value="<?=generateCSRFtoken('add_review')?>">
            <textarea name="txt_review" id="txt_review"></textarea>
            <div class="form-actions">
                button type="submit" id="add_review" name="add_review" class="btn btn-info">Submit</button>

            </div>
        </form>
    </body>

...