Я хочу добавить пользовательское Middleware для проверки любого скрипта в запросе POST, как это сделать? - PullRequest
1 голос
/ 03 июня 2019

Я хочу проверить, содержит ли POST-запрос, поступающий от различных пользовательских форм ввода, в моем приложении какой-либо скрипт MALICIOUS CODE или HTML-теги, если таковые найдены, я хочу перенаправить их обратно на страницу формы и показать сообщение, что эти символы скрипта не являютсяпозволил.Я могу проверить эту функциональность в контроллере, но я хочу сделать это с промежуточным ПО, как это сделать, кто-нибудь может мне помочь ??

Обратите внимание, я просто новичок, а не этот эксперт, поэтому, пожалуйста,простите меня за любые ошибки или логические вопросы.

Ожидаемый результат заключается в том, что я хочу проверить в форме отправки, что любое поле ввода содержит какие-либо теги сценария или нет?и я хочу добиться этого через MIDDLEWARE, чтобы я мог просто включить это промежуточное ПО в запросы, которые я хочу проверить.

1 Ответ

0 голосов
/ 03 июня 2019

Вы можете использовать что-то вроде следующего для проверки ввода, поступающего из POST или GET.

public function handle($request, Closure $next)
{
    $this->checkRequest($request);

    $response = $next($request);

    return $response;
}

private function checkRequest($request)
{
    print_r($request->all());

    // you can check for request method here as well
    // $request->isMethod('POST') etc
    // ofcourse i am not checking for malicious code you can do that much better or loop through request parameters thats upto you 

    if ($request->has('some') && $this->isMalicious($request->get('some'))) {
        return redirect()->route('go/home')->with(['message' => 'found some in request']);
    }
}

private function isMalicious($input)
{
     if ($input == 'something') return true;

     return false;
}

Как создать промежуточное ПО и как его назначить определенным маршрутам или группам или глобально, можно найти здесь https://laravel.com/docs/5.8/middleware#global-middleware

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...