Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 29.03.2016 16:19:56

Ilya999

Url - %20

Как сделать так, чтобы если в url присутствует '%20' - страница считалась несуществующей(404)?

Буду благодарен за помощь

#2 29.03.2016 22:47:01

WebDev

Re: Url - %20

Ilya999 пишет:

Как сделать так, чтобы если в url присутствует '%20' - страница считалась несуществующей(404)?

Буду благодарен за помощь

Можно к примеру через Middleware в методе handle сделать условие:

if (stripos($request->url(), '%20' )) {
abort(404);
}

#3 31.03.2016 00:16:53

Ilya999

Re: Url - %20

WebDev пишет:
Ilya999 пишет:

Как сделать так, чтобы если в url присутствует '%20' - страница считалась несуществующей(404)?

Буду благодарен за помощь

Можно к примеру через Middleware в методе handle сделать условие:

if (stripos($request->url(), '%20' )) {
abort(404);
}

Спасибо, очень благодарен, помогли.

#4 31.03.2016 12:06:59

Ilya999

Re: Url - %20

WebDev пишет:
Ilya999 пишет:

Как сделать так, чтобы если в url присутствует '%20' - страница считалась несуществующей(404)?

Буду благодарен за помощь

Можно к примеру через Middleware в методе handle сделать условие:

if (stripos($request->url(), '%20' )) {
abort(404);
}

Можете подсказать, как добавить все буквы(A-Za-z) к этой функции? Перепробовал множество вариантов, ни один не подходит.

#5 31.03.2016 12:16:24

WebDev

Re: Url - %20

Ilya999 пишет:
WebDev пишет:
Ilya999 пишет:

Как сделать так, чтобы если в url присутствует '%20' - страница считалась несуществующей(404)?

Буду благодарен за помощь

Можно к примеру через Middleware в методе handle сделать условие:

if (stripos($request->url(), '%20' )) {
abort(404);
}

Можете подсказать, как добавить все буквы(A-Za-z) к этой функции? Перепробовал множество вариантов, ни один не подходит.

Как то не правильно вы роуты обрабатываете. Вроде %20 это пробел, заменяйте на + кримеру его, хотя не знаю что вам конкретно нужно.
А обработать роуты можно в провайдере роутов, пример:
public function boot(Router $router)
{
    $router->pattern('id', '[a-zA-Z]+');
    parent::boot($router);
}

#6 31.03.2016 12:46:23

Ilya999

Re: Url - %20

WebDev пишет:
Ilya999 пишет:
WebDev пишет:

Можно к примеру через Middleware в методе handle сделать условие:

if (stripos($request->url(), '%20' )) {
abort(404);
}

Можете подсказать, как добавить все буквы(A-Za-z) к этой функции? Перепробовал множество вариантов, ни один не подходит.

Как то не правильно вы роуты обрабатываете. Вроде %20 это пробел, заменяйте на + кримеру его, хотя не знаю что вам конкретно нужно.
А обработать роуты можно в провайдере роутов, пример:
public function boot(Router $router)
{
    $router->pattern('id', '[a-zA-Z]+');
    parent::boot($router);
}

У меня есть динамические ссылки вида /game/{gameid}, необходимо сделать так, чтобы в {gameid} были только цифры, а при возникновении других символом выдавало 404 ошибку.

#7 31.03.2016 12:55:42

Ilya999

Re: Url - %20

Ilya999 пишет:
WebDev пишет:
Ilya999 пишет:

Можете подсказать, как добавить все буквы(A-Za-z) к этой функции? Перепробовал множество вариантов, ни один не подходит.

Как то не правильно вы роуты обрабатываете. Вроде %20 это пробел, заменяйте на + кримеру его, хотя не знаю что вам конкретно нужно.
А обработать роуты можно в провайдере роутов, пример:
public function boot(Router $router)
{
    $router->pattern('id', '[a-zA-Z]+');
    parent::boot($router);
}

У меня есть динамические ссылки вида /game/{gameid}, необходимо сделать так, чтобы в {gameid} были только цифры, а при возникновении других символом выдавало 404 ошибку.

Все, спасибо, сделал. Только вместо [a-zA-Z]+ использовал [0-9]+

Подвал раздела